gpt4 book ai didi

Sql 将具有相同值的行分组,并将该值放入标题中?

转载 作者:行者123 更新时间:2023-12-04 16:41:51 24 4
gpt4 key购买 nike

我想用 SQL 对行进行分组,我的结果集如下

姓名 大小 日期
数据 1 123 12/03/2009
数据 1 124 15/09/2009
数据 2 333 02/09/2010
数据 2 323 02/11/2010
数据 2 673 02/09/2014
数据 2 444 05/01/2010

我想像这样对结果集进行分组:

数据1
123 12/03/2009
124 15/09/2009
数据2
333 02/09/2010
323 02/11/2010
673 02/09/2014
444 05/01/2010

是否可以使用纯 SQL 来做到这一点?

干杯。

最佳答案

GROUP BY WITH ROLLUP (你并没有真正分组 - 所以你实际上是 GROUP BY 每列)

http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

http://chiragrdarji.wordpress.com/2008/09/09/group-by-cube-rollup-and-sql-server-2005/

http://databases.about.com/od/sql/l/aacuberollup.htm

http://www.adp-gmbh.ch/ora/sql/group_by/group_by_rollup.html

http://msdn.microsoft.com/en-us/library/bb522495.aspx

基于 Lieven 的代码:

DECLARE @Table TABLE (
name varchar(32)
,Size integer
,Date datetime
)

INSERT INTO @Table
VALUES ('data1', 123, GETDATE())
INSERT INTO @Table
VALUES ('data1', 124, GETDATE())
INSERT INTO @Table
VALUES ('data2', 333, GETDATE())
INSERT INTO @Table
VALUES ('data2', 323, GETDATE())
INSERT INTO @Table
VALUES ('data2', 673, GETDATE())
INSERT INTO @Table
VALUES ('data2', 444, GETDATE())

SELECT *
FROM (
SELECT *
FROM @Table
GROUP BY NAME
,size
,date
WITH ROLLUP
) AS X
WHERE NAME IS NOT NULL
AND (
(
Size IS NOT NULL
AND Date IS NOT NULL
)
OR (
Size IS NULL
AND date IS NULL
)
)
ORDER BY NAME
,size
,date

关于Sql 将具有相同值的行分组,并将该值放入标题中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/956065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com