我有一个SELECT查询,它有ORDER BY
我想要的是
if(type=2 AND(station=0 OR station=1))then
SELECT * FROM table
ORDER BY CASE type
WHEN 1 OR 2 THEN 1
WHEN 3 THEN 2
ELSE 4
END,CAST(choice AS SIGNED ) DESC
字符串
if(type=2 AND station=2)then
SELECT * FROM table
ORDER BY CASE type
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
ELSE 4
END,CAST(choice AS SIGNED ) DESC
型
是否可以将CASE放置在IF条件中,以及如何放置?
我试过了
SELECT * FROM table
ORDER BY IF(type=2 AND (station=0 OR station=1))
{
CASE type
WHEN 1 OR 2 THEN 1
WHEN 3 THEN 2
ELSE 4
END,CAST(choice AS SIGNED ) DESC
}
ELSEIF(type=2 AND station=2)
{
CASE type
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
ELSE 4
END,CAST(choice AS SIGNED ) DESC,
}
型
1条答案
按热度按时间sc4hvdpw1#
我不认为你可以在if语句中嵌套case语句。
但是可以在case语句中嵌套case。
试试
字符串
参见示例here