我有一个类似这样的查询:
SELECT priority, likes FROM table ORDER BY priority, likes DESC;优先级和点赞是整数投票。我想加上'IF‘从句,
IF (priority > 1 AND priority < 100)
{
ORDER BY priority;
}
ELSE
{
ORDER BY likes DESC;
}我不知道该怎么问。提前谢谢你
发布于 2013-12-05 18:38:20
请尝试以下操作
ORDER BY CASE WHEN priority > 1 AND priority < 100 THEN priority ELSE likes END DESC发布于 2013-12-05 18:36:10
你的意思是?
SELECT priority, likes
FROM table
WHERE priority > 1 AND priority < 100
ORDER BY priority, likes DESC;啊,刚刚看了你的更新,试试这个
SELECT priority, likes
FROM table
ORDER BY IF(priority > 1 AND priority < 100, priority, likes DESC)或者像我这样的案例
SELECT priority, likes
FROM table
ORDER BY
CASE WHEN priority > 1 AND priority < 100
THEN priority
ELSE likes
END ASC注意:语法可能有点差,在这台速度很慢的pc上没有打开我的sql
发布于 2013-12-05 18:36:58
你能试试这个吗?
SELECT priority, likes
FROM table
ORDER BY IF (priority > 1 AND priority < 100, priority, 0 - likes);https://stackoverflow.com/questions/20397626
复制相似问题