【发布时间】:2014-04-03 11:40:56
【问题描述】:
假设我有一个名为“Fruits”的表,在该表中有一个名为“Fruit”的行,其中包含六个条目:Apple、Banana、Kiwi、Orange、Peach、Tangerine。
我有四个网站想要以不同的方式对 SELECT * FROM Fruits 的结果进行排序,但它们没有模式。 它们不是随机的,因为每个站点都会决定以不同的方式对它们进行排序。例如,一个站点可能是“Kiwi, Apple, Banana, Tangerine, Orange, Peach”,而下一个站点可能是“Banana, Kiwi, Apple, Peach, Tangerine, Orange”。
是否可以像这样在 MySQL 中对这些进行排序,记住将来可能会添加项目并且需要根据每个站点的突发奇想再次任意排序?或者有没有办法在它们被拉出后在 PHP 中对这些结果进行排序?
【问题讨论】:
-
不,它们不是随机的。每个站点都需要一个与其他站点不同的指定顺序。
-
我在你的问题中看不到任何模式!您只指定了 2 个订单示例
-
我认为你可以使用 ORDER BY FIELD() 来处理 mysql,因为你知道每个站点的排序顺序。在此处查看文档dev.mysql.com/doc/refman/5.0/en/…
-
有点取决于...我之前在数据库中使用了
site表来存储在同一系统上运行的不同站点的配置选项。然后你可以有一个像fruit_to_site这样的表,其中包含fruit.id、site.id和sort_order索引——然后你可以按站点对水果进行分类。或者,如果站点在不同的代码上运行,但来自同一个数据库,您可以在应用程序级别进行排序。 -
@CD001 解决方案似乎可行