一个联合查询问题

[复制链接]
查看11 | 回复2 | 2009-7-23 14:24:10 | 显示全部楼层 |阅读模式
有这样一张表:
A
B
C
aa
1
2009-5-9 10:03:24
aa
1
2009-5-9 10:06:19
bb
3
2009-5-9 10:06:23
cc
2
2009-5-13 17:41:30
要 实现的是 按A字段查找一部分记录,再按B字段分组,组内按C字段时间排降序,取第一条top(1);
这个语句该怎样写,帮帮忙,谢谢
二楼的你 那个XX什么意思?
我的意思是:查询到A字段的一部分内容后,取按B字段分组这些记录,取出按C字段排序每一组里面的记录,取出有C字段最大值的一条记录,即按降序排序的第一条记录。

回复

使用道具 举报

千问 | 2009-7-23 14:24:10 | 显示全部楼层
假如你的表叫TABLE1:select * from table1 xx where exists(select B,max(C) from table1 where A=? group by B having xx.B=B and xx.C=max(C)) and A=? 明显是table1的别名,你高兴换成ss也可以。 A=?表示的是过滤条件,也就是为了查询到A字段的一部分内容。...
回复

使用道具 举报

千问 | 2009-7-23 14:24:10 | 显示全部楼层
问题描述的不是很清楚。B分组,分组做什么count?sum? 组内排序,取第一条还是总的结果集的第一条。你还是把要的结果写出来吧。 select max(C),B from table where A like '%abc%'group by B...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行