我正在想办法,但根本没有解决办法。我的问题:
SELECT * FROM table
WHERE owner = 'user'
AND (
CASE WHEN status = 'NEW'
THEN status = 'NEW'
ELSE status IN ('CB','NA','NI','GC','FC')
END
)
ORDER BY RAND() DESC
LIMIT 1;
我想实现的是显示所有记录 status
是 NEW
在一个 Random order
受限于 one row
没有记录的时候 NEW
对于用户,查询需要显示另一个 statuses
.
谢谢您。
3条答案
按热度按时间cedebl8k1#
将给你总共1行,给你一个随机的'新'的优惠。如果没有“新”行,则随机选择其他行。
(请澄清您的问题并提供示例输出。)
vybvopom2#
演示
http://sqlfiddle.com/#!9月9日B1C8/1
yruzcnhs3#
我想,你可以
到