这是我的问题: 我有一个包含几列的表
(Id, email, last_visit_date, picture)
图片栏可以有3个选项:
我需要一个查询(对于MySQL),它将返回顺序中的所有行:
我无法理解
答案 0 :(得分:1)
ORDER BY picture LIKE 'pic%' DESC, picture = "noPic" DESC, last_visit_date
答案 1 :(得分:0)
mysql会将bool值隐式转换为整数(分别为1和0)。因此,您可以通过比较图片值进行排序:
ORDER BY picture = 'privatePic' ASC, picture = 'noPic' ASC, last_visit_date
答案 2 :(得分:0)
在order by子句中使用case / when构造...在这种情况下,我将值设置为1,2或3,然后按上次访问日期排序...
select
YT.*
from
YourTable YT
order by
case when YT.Picture = "noPic" then 1
when YT.Picture = "PrivatePic" then 2
else 3
end,
YT.Last_Visit_Date desc