Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL有多少条记录以相同的字母开头_Sql_Sql Server - Fatal编程技术网

SQL有多少条记录以相同的字母开头

SQL有多少条记录以相同的字母开头,sql,sql-server,Sql,Sql Server,因此,我在数据库中的a列中有数千条记录 我想看看有多少是以字母表的每个字母和所有的一位数开头的 所以我需要一个计数和相关的字母。我还想看看所有两个字母数字组合,即aa ab ac ad ae等,以及它们的计数 还有三个和四个字符等。您通常可以通过像LEFT(columnname,1)这样的表达式对进行分组,这允许您执行由任意表达式分组的COUNT()聚合。要使用的最理想的子字符串函数可能取决于您的RDBMS SELECT UPPER(LEFT(columnname, 1)) AS first

因此,我在数据库中的a列中有数千条记录

我想看看有多少是以字母表的每个字母和所有的一位数开头的

所以我需要一个计数和相关的字母。我还想看看所有两个字母数字组合,即aa ab ac ad ae等,以及它们的计数


还有三个和四个字符等。

您通常可以通过
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
某些RDBMS允许您在
分组依据
中使用列别名,而不是在简化的
分组依据第一字符
中使用完整表达式


请注意,我对它们进行了大写,这样,如果使用区分大小写的排序规则,您就不会得到
Ab,Ab,Ab,Ab
的单独匹配。(不过,我相信SQL Server默认情况下使用不区分大小写的排序规则)

Awesome。这正是我所需要的,可能值得注意的是,只有当源代码使用区分大小写的排序规则时,才需要UPPER…相关: