在MySQL中,假设我有一张桌子:
----------------------
| Price | ProductType |
----------------------
8.5 | Foodstuff
8.5 | Mobile
147 | Application
2 | Mobile
8.5 | Electronic
8.5 | Mobile在这种情况下,如果我ORDER BY Price, ProductType,它通常会显示为:
----------------------
| Price | ProductType |
----------------------
2 | Mobile
8.5 | Electronic
8.5 | Foodstuff
8.5 | Mobile
8.5 | Mobile
147 | Application现在的问题是:
ORDER吗?(例如,哪个是第一位,哪个是第二位)例如,如何编写MySQL Query以获得如下结果:
----------------------
| Price | ProductType |
----------------------
2 | Mobile
8.5 | Electronic <- 1st in Order
8.5 | Mobile <- 2nd in Order
8.5 | Mobile <- ..
8.5 | Foodstuff <- 3rd in Order
147 | Application请关注8.5价格行,在这个示例中(在第一个Order By on Price列之后),显然我想先显示:Electronic,然后是Mobile,然后是Foodstuff。在MySQL中有可能吗
发布于 2013-01-07 07:17:48
发布于 2013-01-07 07:17:51
只需为自定义订单在表中添加第三列(INT),就可以将其命名为智能项。然后你就可以按这个点:
ORDER BY custom_order如果您仍然希望价格优先于自定义订单,则可以执行查询:
ORDER BY Price, custom_order您只是不能让MySQL猜出您想要安排的顺序,所以替代解决方案应该是JW建议的解决方案。在其中指定查询中的实际顺序。然而,对于大量的表和动态数据,我会推荐我的解决方案。
然后希望您有一个聪明的管理您的数据库,以便您可以轻松地重新排序的项目,以您想要的方式。我已经成功地完成了许多db管理,并且喜欢使用AJAX和jQuery排序来进行简单的拖放重新排序。
https://stackoverflow.com/questions/14191483
复制相似问题