gpt4 book ai didi

sqlite - Sqlite中的订购结果

转载 作者:行者123 更新时间:2023-12-03 15:46:21 26 4
gpt4 key购买 nike

在MySQL中,我的sql如下所示

SELECT * , IF( `Word` = 'sim', 1, IF( `Word` LIKE 'sim%', 2, IF( `Word` LIKE '%sim', 4, 3 ) ) ) AS `sort`
FROM `dblist`
WHERE `Word` LIKE '%sim%'
ORDER BY `sort` , `Word`


此sql在SQlite中不起作用。我想做结果排序。

SELECT * FROM dblist where word like 'sim' or word like 'sim%' or word like '%sim%' or word like '%sim'


equal sim是第一位,sim%是第二,%sim%是三位,然后%sim是最后。

目前,我无法在sqlite中像mysql那样排序。如何更改sql以排序结果?

最佳答案

您应该使用CASE expression代替IF,因为SQLite不支持后者。这是您需要的SQL:

SELECT
*,
CASE WHEN `Word` = 'sim' THEN 1
WHEN `Word` LIKE 'sim%' THEN 2
WHEN `Word` LIKE '%sim' THEN 4
ELSE 3
END `sort`
FROM `dblist`
WHERE `Word` LIKE '%sim%'
ORDER BY `sort` , `Word`

关于sqlite - Sqlite中的订购结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2800534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com