我正在尝试选择值LIKE '%Pro%',但最终我总是希望'%PRO333%'是最后一个选择。
这是我的数据:
userid: text:
1 PRO11
1 PRO23
1 PRO333
1 PRO2000这是我的疑问:
select *
from table1
where userid=1 and text LIKE '%PRO%' --now when I get that column I always need to return PRO333 as the last column预期产出如下:
userid: text:
1 PRO11
1 PRO23
1 PRO2000
1 PRO333 --always the last我该怎么做,谢谢你们的帮助
发布于 2020-02-05 08:08:57
您可以将text和PRO333值的比较包含到ORDER BY子句中,以便对该值进行最后排序。例如:
SELECT *
FROM table1
WHERE userid = 1 AND text LIKE '%PRO%'
ORDER BY CASE WHEN text = 'PRO333' THEN 1 ELSE 0 END输出:
userid text
1 PRO11
1 PRO23
1 PRO2000
1 PRO333基于SQLFiddle的演示
https://stackoverflow.com/questions/60071355
复制相似问题