sql - 如何在sql中对同类行进行分组

标签 sql sql-server sql-server-2008

我有一个像这样的表:

    Table1
---------------------
Id |Kind1|Kind2|Kind3|
---------------------
1  |  2  |  2  |  3  | *
---------------------
2  |  2  |  2  |  2  | +
---------------------
3  |  2  |  2  |  1  |
---------------------
4  |  2  |  2  |  3  | *
---------------------
5  |  2  |  1  |  1  |
---------------------
6  |  1  |  1  |  1  |
---------------------
7  |  2  |  2  |  2  | +
----------------------

我想得到如下所示的结果 ID 必须自动生成 我必须计算同一行组的数量

Result
------------------------------
Id |  Count |New1 |New2 |New3 |
------------------------------
1  |    2   |  2  |  2  |  2  | 
------------------------------
2  |    2   |  2  |  2  |  3  |
------------------------------
3  |    1   |  2  |  2  |  1  |
------------------------------
4  |    1   |  2  |  1  |  1  |
------------------------------
5  |    1   |  1  |  1  |  1  |
------------------------------

我如何在 sql server 中执行此操作?

最佳答案

select ROW_NUMBER() over (order by (select 0)) as ID,count(*) as count,kind1 as new1,kind2 as new2,kind3 as new3
from yourtable
group by kind1,kind2,kind3

关于sql - 如何在sql中对同类行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12935500/

相关文章:

sql-server-2008 - 从 MS SQL Server Management Studio 中的查询结果复制大量数据

sql-server - CHECKSUM 和 CHECKSUM_AGG : What's the algorithm?

mysql - 至少一个 X 但没有 Ys 查询

java - 计算 6 - 分离度与 pl/sql 的算法和查询?

sql-server - 在变量中使用语句时,Coldfusion 更新查询会抛出错误

sql - 笛卡尔连接两个没有记录的表

sql - SQL Server 中的动态字段

sql - 如何在包含最大值的表中查找记录?

JAVA:从mysql表中获取单元格

sql - 如何将文本数据类型从 PostgreSQL 数据库转换/转换为链接的 MS SQL Server?