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
表中还有其它字段.我要同显示出来.

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