gpt4 book ai didi

sql - 按 desc 排序顺序未按预期工作

转载 作者:行者123 更新时间:2023-12-04 14:21:28 26 4
gpt4 key购买 nike

我在 SQL 中有这个查询

SELECT Book FROM Library ORDER BY Book desc 

我想要的排序
[Expired]Web Publishing Co., Ltd.
[Expired]sBox Co.,Ltd
[Expired]mTertainment
wwww

但结果显示如下
wwww
[Expired]sBox Co.,Ltd
[Expired]mTertainment
[Expired]Web Publishing Co., Ltd.

最佳答案

我在这里看到您订购的两个问题。首先是括号符号在字典上小于字母数字字符,这与您想要的不一致。其次是您的书名存在区分大小写的问题。这导致 sBoxWeb 出现更大的字典序,即使从不区分大小写的角度来看,前一个字母在字母表中出现的更早。

获得所需顺序的一种方法是使用两个条件。第一个条件将以字母数字标题开头的书名与以括号等符号开头的书名分开。第二个条件按实际书名使用不区分大小写的排序。

SELECT Book
FROM Library
ORDER BY CASE WHEN REGEXP_LIKE(SUBSTR(Book, 1, 1), '[^A-Za-z0-9]') THEN 0 ELSE 1 END,
LOWER(Book) DESC

实际上,也许更准确的处理方法是检查书名是否以任何带括号的标签开头,即 ^[.*] :
ORDER BY CASE WHEN REGEXP_LIKE(Book, '^[[].*[]]') THEN 0 ELSE 1 END,
LOWER(Book) DESC

关于sql - 按 desc 排序顺序未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41140148/

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