主题:帮看下这个。。急急!!!!!!!!
zyw358486
[专家分:480] 发布于 2006-04-02 23:58:00
表TABLEA中有三列,分别为:成员序号ID;成员所属组的名称TEAM;成员年龄AGE。现需写SQL语句按组为单位查询:组的名称TEAM;各组的人数AMOUNT;各组中的最大年龄OLDERAGE;各组最大年龄者的序号OLDERID。请问其SQL语句怎样写?谢谢!
select A.team 组名,A.count(A.ID) A.AMOUNT,A.max(A.AGE),B.AGE,
form tablea A join tablea B
on A.ID=B.ID where B.AGE=A.max(A.AGE)
group by A.team
order by A.team
我这么写对不啊?
回复列表 (共6个回复)
沙发
菜鸭 [专家分:5120] 发布于 2006-04-03 07:31:00
一个表吧
select a.id,b.team,b.amount,b.olerage
from tablea a,
(select team,count(*) AMOUNT,max(AGE) OLDERAGE
form tablea
group by team) b
where a.team=b.team and a.age=b.olerage
板凳
zyw358486 [专家分:480] 发布于 2006-04-03 09:36:00
我想问下如果一组内有两个60的同时是最大的,那么会有两行一样吧。怎么能把这重复去掉,或不把重复行写上去呢?
3 楼
zyw358486 [专家分:480] 发布于 2006-04-03 09:43:00
上面的不要回答了,问错了。
4 楼
zyw358486 [专家分:480] 发布于 2006-04-03 09:46:00
select * from 表名 A
where A.rfid号 in (
select B.rfid号 from 表名 B where B.使用数量=-1)
菜鸭朋友我这 A , B 加的是不是多此一举啊?A,B全去掉也行吧?
5 楼
aniude [专家分:430] 发布于 2006-04-03 21:58:00
SORRY,错误太多
6 楼
zyw358486 [专家分:480] 发布于 2006-04-03 23:29:00
哎!!
我来回复