gpt4 book ai didi

sqlite - 按数字或首字母分组

转载 作者:行者123 更新时间:2023-12-03 18:13:42 25 4
gpt4 key购买 nike

如果运行以下查询,则会得到预期的结果:

SELECT upper(substr(columnname, 1, 1)) 
FROM table
GROUP BY upper(substr(columnname, 1, 1)).


对于从A到Z以及从0到9的每个起始字母,我都得到了分组。但是我想要拥有的是“ 0-9”,“ A-C”,“ D-F”等分组。我不知道如何分组。有人可以提示我如何开始吗?

最佳答案

一个想法可能是创建一个用户定义的函数,该函数接收一个字母并返回包含该字母所属的组的字符串。

如果您将该函数命名为“ getGroupFor”,并且可以正常工作:

getGroupFor('A') returns 'A-C'
getGroupFor('B') returns 'A-C'
... (and so on)


然后,您可以将选择更改为按该函数的输出分组。

SELECT getGroupFor(upper(substr(columnname, 1, 1))) FROM table GROUP BY getGroupFor(upper(substr(columnname, 1, 1)))


您可以通过查看另一个问题找到如何为SQLLite创建用户定义的函数:

How to create custom functions in SQLite

另一种方法是创建一个表,该表可以将字母映射到字母组,然后按“字母组”列而不是各个字母将表和组连接起来。

关于sqlite - 按数字或首字母分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905612/

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