sql - SQL Server:将具有相似列值的行分组为一行,然后将相应的行相加
问题描述
我正在编写一个查询,以将具有相同起始字母的列分组为一列,下一列及其各自行值的总和。示例如下。尝试过 case 和 sum 但不起作用。这可能吗。
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)
推荐阅读
- snowflake-cloud-data-platform - 雪花数据库:想要使用表中列的值作为另一个表的选择语句中的列名
- java - Java 线程同步给出了奇怪的输出
- google-apps-script - 在 URL 中使用“导出”查询字符串从 GSheet 创建 PDF
- html - 面临问题引导菜单分区
- mysql - 当我的 column_string 有字母时,如何使用 ORDER BY column_string like column_int?
- python - 如何在 Django 中的模板中渲染?
- latex - 超过 Tex 容量 [字符串数 = 2078043]
- php - 如何在没有输入事件的情况下向 viber 发送消息?
- python-3.x - TypeError:在 SVM 训练期间,只能将 size-1 数组转换为 Python 标量
- amazon-web-services - 错误:连接 ECONNREFUSED 3.15.138.43:8080 我需要 IAM AWS_ACCESS_KEY_ID 吗?