SQL Server:具有相似列值与一行的组行,然后总和相应的行



我正在编写一个查询,以将相同的启动字母分组为一个和下一个列的列,并带有其各自的行值的总和。示例如下。已经尝试了案例和总和,但不起作用。这是可能的。

Col1  |Col2  |Col3
------+------+------
axxx  |1     |z
axyx  |2     |p
bxxy  |1     |q
bxyx  |2     |y
cxxy  |1     |t
cxyx  |2     |t

查询应如下

返回
FirstLetter |Total(Sum of Col2)
------------+------------------
a           |3
b           |3
c           |3

第一列是以相同的第一字母开头的字符串第二列给出了Col2的所有值的总和,Col1值以相同的第一字母开始

开始

这是可能的吗?

SQL现在具有left功能一段时间。

select left(Col1, 1), sum(Col2)
  from Table_Name
 group by left(Col1, 1)

通过使用substring https://www.w3schools.com/sql/func_sqlserver_substring.asp

create table #1 (col1 varchar(10), col3 varchar(10))
insert into #1 values ('axxx','1'),('axyz','2')
SELECT  substring(col1, 1, 1) AS col1_substring, sum(col3) AS col2count
FROM    #1
GROUP   BY substring(col1, 1, 1);

相关内容

最新更新