SQL 中的分组查询
来源:百度知道 编辑:UC知道 时间:2024/05/22 03:11:48
表中的数据:
C2 C3
------- --------
1 1
1 2
1 3
2 1
2 3
2 5
如何查询结果集为
1 3
2 5
表中还有其它字段.我要同显示出来.
C2 C3
------- --------
1 1
1 2
1 3
2 1
2 3
2 5
如何查询结果集为
1 3
2 5
表中还有其它字段.我要同显示出来.
select a.* from
a,
(
select c2,max(c3) as c3
group by c2
order by c2
) b
where
a.c2 = b.c2
and a.c3 = b.c3
我猜结果中第二列的意思是分组中C3的最大值对不?
select c2,max(c3) from 表名 group by c2
======搞定(要是你想给结果中第二个字段取个名字)====
select c2,max(c3) AS 别名 from 表名 group by c2
=====把‘别名’替换成你想要的名字既可====
SELECT C2, MAX(C3) AS C3
FROM 表名
GROUP BY C2
ORDER BY C2
此为正解!!!!!!!!
CREATE TABLE #tmp
(
C2 INT,
C3 INT
)
INSERT INTO #tmp VALUES(1,1)
INSERT INTO #tmp VALUES(1,2)
INSERT INTO #tmp VALUES(1,3)
INSERT INTO #tmp VALUES(2,1)
INSERT INTO #tmp VALUES(2,3)
INSERT INTO #tmp VALUES(2,5)
SELECT C2, MAX(C3)
FROM #tmp
GROUP BY C2
SELECT C2, MAX(C3) AS MaxC3
FROM 表
GROUP BY C2
ORDER BY C2
select c2,max(c3) as c3 from 表名 group by c2 order by c2