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