【发布时间】:2017-08-23 07:17:18
【问题描述】:
我有一张如下所示的表格:
+----------------+-------+----------+---------+
| Name | Model | system | ItemTag |
+----------------+-------+----------+---------+
| Alarm Id | T58 | ASC | |
+----------------+-------+----------+---------+
| Door Lock | F48 | ASC | |
+----------------+-------+----------+---------+
| AlarmSounder | T58 | ASC | |
+----------------+-------+----------+---------+
| Card Reader | K12 | ASC | |
+----------------+-------+----------+---------+
| Magnetic Lock | F48 | ASC | |
+----------------+-------+----------+---------+
| T2 Card Reader | K12 | ASC | |
+----------------+-------+----------+---------+
| Power Supply | Null | ASC | |
+----------------+-------+----------+---------+
| Battery | Null| ASC | |
+----------------+-------+----------+---------+
现在我想这样显示数据:
+-------------+-------+--------+--------+
| Name | Model | system | count |
+-------------+-------+--------+--------+
| Alarm | T58 | ASC | 2 |
+-------------+-------+--------+--------+
| Door Lock | F58 | ASC | 2 |
+-------------+-------+--------+--------+
| Card Reader | K12 | ASC | 2 |
+-------------+-------+--------+--------+
|Power supply | Null | ASC | 1 |
+-------------+-------+--------+--------+
| Battery | Null | ASC | 1 |
+-------------+-------+--------+--------+
如何在 SQL 中做到这一点?
更新 我还包括空列作为我的第二次更新。
【问题讨论】:
-
这是什么逻辑?为什么
AlarmSounder、Magnetic Lock和T2 Card Reader不在输出中? -
@ZoharPeled ,更新了问题
-
仍然没有帮助。如何区分要返回的行和不想返回的行?
-
为什么 ('Alarm Id' , 'AlarmSounder') => 'Alarm' 但是 ('Door Lock', 'Magnetic Lock') => 'Door Lock' ?
-
@Serg ,这是我们的采购团队提供的,他们存储了这样的数据
标签: sql count group-by sql-server-2014 tabular