我有一个列名unique
,我试图打印随机排序的resutl,首先是以lead_
开头的所有行,然后是所有其余行。
例如,如果我有这样的行:
abc
lead_ass
dsff
dds
lead_fdg
fds
lead_hhf
我需要先打印lead_ass,lead_fdg,lead_nhf
随机排序,然后再打印所有其他的,也是随机排序的。
有任何帮助吗? THX!
答案 0 :(得分:4)
您可以这样做:
order by (col like 'lead_%') desc,
rand()
表达式(col like 'lead_%')
返回true(视为1)或false(视为0),因此desc
将匹配放在第一位。 rand()
只是因为你说你想要随机订购的东西。这将随机命令两个组。
答案 1 :(得分:3)
您可以使用CASE
和LEFT
功能
ORDER BY CASE
WHEN LEFT(col,5) ='lead_'
THEN 1 ELSE 2
END