谁能帮我写这个Sql,另开贴巨分相赠!
字段:a,b,c,d,e
要求得到以a分组(group by)且d值最大的纪录,若对同一a,有多项d值相等且最大,只需一条纪录(以e排序)。所有字段都要显示。
大致意思为:select a,b,c,max(d),e group by a order by e
但这样的sql是不合法的。
举例:1,2,3,4,5;
1,3,6,8,8;
1,5,8,8,7;
2,3,5,6,7;
要求得到:1,3,6,8,7(对同一a,d值最大,e值最小)
2,3,5,6,7
注:用access 2000,jet 4.0引擎
问题点数:50、回复次数:12Top
1 楼Xsean()回复于 2001-12-21 09:10:33 得分 0
我急用,大虾们!Top
2 楼vc_java()回复于 2001-12-21 09:36:19 得分 0
这个只用一个语句估计很麻烦,用多个语句分开写呀Top
3 楼pinel()回复于 2001-12-21 09:57:49 得分 30
SELECT a, b, c, d, e
FROM abc
WHERE d IN
(SELECT MAX(d) AS mm
FROM abc
GROUP BY a)
AND e IN
(SELECT MIN(e) AS mn
FROM abc
GROUP BY a)
ORDER BY a,e
Top
4 楼pinel()回复于 2001-12-21 10:02:21 得分 0
啊,结果不一样,我是
1,5,8,8,7(对同一a,d值最大,e值最小,应该是这条啊)
2,3,5,6,7
你的条件不是很清楚Top
5 楼pinel()回复于 2001-12-21 10:07:44 得分 0
看来要用多个语句写,Top
6 楼Novelty(novel.zhou)回复于 2001-12-21 10:17:35 得分 20
select * from csdn where d
in (select max(d) from csdn group by a) and e
in (select min(e) from csdn group by a,d)
order by a
快给分啊!!!!!!!
Top
7 楼pinel()回复于 2001-12-21 12:09:11 得分 0
不对,和我的一样,他是要整合纪录Top
8 楼ji_hui(我是谁)回复于 2001-12-21 12:36:22 得分 0
举例:1,2,3,4,5;
1,3,6,8,8;
1,5,8,8,7;
2,3,5,6,7;
要求得到:1,3,6,8,7(对同一a,d值最大,e值最小)
2,3,5,6,7
是不是问错了?
1,3,6,8,7中的7是最小吗?Top
9 楼pinel()回复于 2001-12-21 12:54:28 得分 0
题目讲的很不清楚,家伙怎没声了
Top
10 楼Xsean()回复于 2001-12-21 13:09:01 得分 0
Sorry!!!我写错了,应该是:
要求得到:1,5,8,8,7(对同一a,d值最大,e值最小)
2,3,5,6,7
pinel()和Novelty()的方法都对。
先送点分1414,以后找个时间统一发红包,Novelty()兄不要那么急不可待的样子,我会记得你的大恩大德;Novelty(),我爱S你了.
Top
11 楼Xsean()回复于 2001-12-21 13:13:54 得分 0
pinel()莫怪,我上、下午各有一个半小时的上网时间,所以........Top
12 楼Xsean()回复于 2001-12-21 17:59:27 得分 0
不对阿!我想对每个a返回唯一的纪录!上述写法似乎存在变数,会根据d,e的取值不同发生变化!我再看看。。。。Top




