我在MySQL中有一个表,这个表包含我网站上广告的信息。在某些情况下,行需要在查询结果的顶部进行,以便在页面中首先显示,并且这可能需要经常用于其他一些行。我正在寻找一种正确的方法将特定行推到查询结果的顶部。
完成此任务的最佳解决方案是什么?
答案 0 :(得分:2)
假设您的特殊行包含SpecialAd
SELECT *
FROM YourTable
ORDER BY CASE
WHEN `SpecialAd` = true THEN 0
ELSE 1
END,
OtherSortField
这将首先显示所有SpecialAd,您可以使用第二个SortField在每个组内进行排序。