数据库表如下:
列A 列B 列C
AA 20 2011-10-17 00:00:00
BB 20 2011-10-17 00:00:00
AA 20 2011-10-17 10:00:00
我想得到的结果是以‘列A’为分组条件、查询出‘列C’时间最大的数据、理想得到的结果如下:
列A 列B 列C
AA 20 2011-10-17 10:00:00
BB 20 2011-10-17 00:00:00
请大侠帮忙 啊
12 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
SELECT t1.A, t1.B, t1.C
FROM 表名 AS t1 RIGHT OUTER JOIN
(SELECT A, MAX(C) AS C
FROM 表名
GROUP BY A) AS t2 ON t1.A = t2.A AND t1.C = t2.C
神不在的星期二
TA贡献1963条经验 获得超6个赞
select 列A,max(列C)as 列C into #temp from Table group by 列A;
select b.* from #temp a,Table b
where a.列A=b.列A and a.列C=b.列C
慕码人2483693
TA贡献1860条经验 获得超9个赞
@youwj: select 列A,max(列C)as 列C into #temp from Table where 列C<时间
group by 列A;
这样就可以了啊
慕沐林林
TA贡献2016条经验 获得超9个赞
@webaspx: 我说大哥,你按我说的试过吗?确认查询不出来你要的结果?
这是表的数据:
这是结果:
查询的是C小于2011-10-17 17:47:18.937的,然后GroupBy A求得各项最大时间的数据。
慕无忌1623718
TA贡献1744条经验 获得超4个赞
select t1.A ,max( t1.c) from 表 as t1
group by t1.A
我不知道你的列B要不要考虑,你这个问题带入列B是错误的
如果列B一个20,一个30.你要取哪个呢??
- 12 回答
- 0 关注
- 1666 浏览
添加回答
举报
0/150
提交
取消