所以我在A列的数据库中有数千条记录。
我想看看有多少以字母表中的每个字母和所有单个数字开头。
所以我需要一个计数和与之相关的字母。我还想查看所有两个字母数字组合,即 aa ab ac ad ae 等及其计数。
还有三个和四个字符等。
所以我在A列的数据库中有数千条记录。
我想看看有多少以字母表中的每个字母和所有单个数字开头。
所以我需要一个计数和与之相关的字母。我还想查看所有两个字母数字组合,即 aa ab ac ad ae 等及其计数。
还有三个和四个字符等。
您通常可以GROUP BY
使用类似的表达式LEFT(columnname, 1)
,它允许您执行COUNT()
按任意表达式分组的聚合。要使用的最理想的子字符串函数可能取决于您的 RDBMS。
SELECT
UPPER(LEFT(columnname, 1)) AS first_char,
COUNT(*)
FROM yourtable
GROUP BY UPPER(LEFT(columnname, 1))
ORDER BY first_char ASC
同样,要获得 2 个字符匹配
SELECT
UPPER(LEFT(columnname, 2)) AS first_2char,
COUNT(*)
FROM yourtable
GROUP BY UPPER(LEFT(columnname, 2))
ORDER BY first_2char ASC
GROUP BY
一些 RDBMS 将允许您在而不是完整表达式中使用列别名,如简化的GROUP BY first_char
.
请注意,我已将它们大写,因此Ab, AB, ab, aB
如果您使用区分大小写的排序规则,则不会获得单独的匹配项。(但我相信 SQL Server 默认使用不区分大小写的排序规则)