-1
我有一个场景,我想在分组数据后对记录进行计数。 (实际方案包含多个表。)分组依据和组内计数
create table tblXYZ
(
id int,
Age int,
Typ char
)
表包含了这样的数据:
| ID | Age | Typ
------------------
| 1 | 20 | A
| 2 | 20 | A
| 3 | 21 | B
| 4 | 22 | B
| 5 | 22 | A
| 6 | 23 | B
| 7 | 23 | A
| 8 | 23 | A
| 9 | 25 | B
| 10 | 25 | B
| 11 | 25 | A
如果我申请一组按年龄,我会得到:
| Age | Typ_Count
-------------
| 20 | 2
| 21 | 1
| 22 | 2
| 23 | 3
| 25 | 3
但我想根据每个年龄组的每种特定类型获取typ_count。
期望的结果:
| Age | Typ_A_Count | Typ_B_Count
---------------------------------
| 20 | 2 | 0
| 21 | 0 | 1
| 22 | 1 | 1
| 23 | 2 | 1
| 25 | 1 | 2
感谢。
请发表您尝试 –
你可以使用一个支点,如果类型是静态的还是动态的支点来实现这一 –
难道他们必须要在不同的列?你不能按年龄和类型分组吗?如果他们必须在列中使用每种类型的case语句。如果你有一个随机数的类型,那么你需要写一个动态的Piviot,如:http://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query。太多的未知因素在这个时候提出“优质”建议。 – xQbert