去年
问题描述:
显示类别ASC顺序,但“OTHERS”的名单,我在显示ASC订单类别的清单。“OTHERS”也是品类之一。我需要在ASC ORDER中显示所有类别,最后显示“OTHERS”。去年
这是通过使用PHP和MYSQL完成。
表结构
故事名:类别
id categoryname
1 APPLE
2 BANANA
3 Strawberry
4 Other
5 grape
例如:以上是表结构。从上面的表格中我需要显示ASC订单中的所有类别,最后需要显示“OTHER”。 所以输出应该是 完全如下。
id categoryname
1 APPLE
2 BANANA
3 grape
4 Strawberry
5 Other
答
你可以尝试像
SELECT *
FROM Categories
ORDER BY CASE
WHEN Categorie = 'OTHERS' THEN 2
ELSE 1
END,
Categorie
答
SELECT *
FROM categories
ORDER BY categories LIKE 'others' ASC, categories ASC
+0
我认为这是一个更好的答案,除非在问题'其他'使用。它比使用CASE语句更简单明了。 – FLY 2011-04-29 10:25:46
这是我正好需要..感谢很多astander – Fero 2010-02-11 07:53:54
我相信,这将只是那种“别人”到列表的末尾,而不是排序类别。 – Duncan 2010-02-11 08:09:49
order by子句有2个部分,所以试着运行一下,看看它会按类别由1/2 ID进行排序递增,然后,将 – 2010-02-11 08:14:37