我有一张类似这样的表
ID Name City
-------------
0 asd sda
1 hrs gsh
2 ghd 0
3 hsa 0
.
.
我怎么能以随机顺序返回city!='0'然后以随机顺序返回city ='0'?
答案 0 :(得分:1)
对于SQL Server(RAND为SQL Server中的所有行提供相同的值)
ORDER BY
CASE WHEN City <> '0' THEN 1 ELSE 2 END,
NEWID()
答案 1 :(得分:1)
假设您的DBMS支持RAND函数,该函数为结果集中的每一行返回不同的随机数:
SELECT ID, Name, City
FROM SomethingLikeThis
ORDER BY CASE WHEN City = 0 THEN 1 ELSE 0 END, RAND();