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