主题:问1个sql的小问题~~~
北极星愿
[专家分:210] 发布于 2007-11-26 19:48:00
Record# SNO GNO(商品号) QTY(销售量)
1 S01 G01 500
2 S01 G02 100
3 S02 G01 200
4 S03 G03 500
5 S03 G01 450
6 S04 G07 560
7 S06 G06 100
8 S07 G07 152
(8)查询平均销售量最高的商品号。(表已经建好)
知道的高手帮忙写下,想了很就没做出来
最后更新于:2007-12-02 21:52:00
回复列表 (共9个回复)
沙发
happyboy2007 [专家分:3900] 发布于 2007-11-27 11:49:00
select GNO from 表 where QTY = (select max(QTY) from 表)
板凳
STENDJOB [专家分:230] 发布于 2007-12-07 22:22:00
select distinct GN0 from table where QTY=
{select QTY from table where avg(QTY)>=all
{select avg(QTY) from table group by GNO}};
3 楼
fly999 [专家分:150] 发布于 2007-12-09 15:57:00
jian dan
4 楼
Leo64823900 [专家分:960] 发布于 2008-01-05 00:03:00
select top 1 GNO from 表 group by GNO order by sum(qty) desc
5 楼
liulei001 [专家分:12820] 发布于 2008-01-15 21:18:00
Select Top 1 [GNO],AVG([QTY]) As [AVG_QTY]
From [表]
Group by [GNO]
Order By [AVG_QTY] Desc
补充:
1楼的回答是错误的,检索结果是全部销量中的最大值,而不是每个商品的平均销量。
6 楼
guxinglei2543 [专家分:170] 发布于 2008-02-28 09:58:00
觉得楼上的比较好,
如果不考虑效率 下面的应该也可以
select GNO from table_name group by GNO having avg(QTY)=max(agv(QTY))
7 楼
lgg201 [专家分:150] 发布于 2008-03-03 12:54:00
SELECT GNO FROM 商品表 R1 WHERE QTY=(SELECT MAX(SELECT AVG(QTY) FROM 商品表 R2 WHERE R1.GNO=R2.GNO) FROM 商品表)
我是新手哦,不对请高手指正
8 楼
lgg201 [专家分:150] 发布于 2008-03-03 12:55:00
提个问题,2楼的没有看清问题,这里要求的是平均销售量最高的
9 楼
火魂 [专家分:390] 发布于 2008-03-27 11:39:00
[quote]select top 1 GNO from 表 group by GNO order by sum(qty) desc[/quote]
4楼的回答最为简单名了.
我来回复