设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1403|回复: 7
打印 上一主题 下一主题

[与其它组件] 多记录分组显示的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-3-27 04:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表的内容如下:
类别 数量 名称
1       2       张三
1       5       李四
1       1       李四
2       4       赵五
2       10      陈七
2       6       王六
2       9       赵五
3       8       孙八
3       3       钱九
3       2       孙八
3       1       吴二

我要显示每个类别里的数量最大的哪条记录的名称,SQL语句如何写?

结果应该显示以下的记录:
1       5       李四
2       10      陈七
3       8       孙八
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-3-27 04:33:00 | 只看该作者
应该是:

SELECT 表1.类别,  表1.姓名, Sum(表1.数量) AS 数量之总计
FROM 表1
GROUP BY 表1.类别, 表1.姓名;
3#
 楼主| 发表于 2006-3-27 17:19:00 | 只看该作者
楼上朋友的结果是:

类别 名称 数量之总计
1    李四   6
1    张三   2
2    陈七   10
2    王六   6
2    赵五   13
3    钱九   3
3    孙八   10
3    吴二   1

不是我要的结果。
4#
发表于 2006-3-27 17:48:00 | 只看该作者
SELECT 表1.类别,  表1.姓名, max(表1.数量) AS 数量之总计
FROM 表1
GROUP BY 表1.类别, 表1.姓名;
5#
发表于 2006-3-27 18:13:00 | 只看该作者
SELECT 表1.* FROM 表1 INNER JOIN (SELECT 表1.类别, max(表1.数量) As 数量 FROM 表1 GROUP BY 类别) As 表2 ON (表1.类别 = 表2.类别) AND (表1.数量 = 表2.数量)  
6#
发表于 2006-3-27 19:08:00 | 只看该作者
SELECT *
FROM tt AS a
WHERE 数量=(select top 1 数量 from tt where 类别=a.类别 order by 类别,数量 desc);
7#
发表于 2006-3-27 20:38:00 | 只看该作者
4楼的不适用于有重复记录的情况。

5、6楼的都正确。5楼的中规中矩,6楼的用到了相关子查询,更精彩些。
8#
 楼主| 发表于 2006-3-30 04:17:00 | 只看该作者
谢谢大家
9#
发表于 2006-3-30 04:20:00 | 只看该作者
SQL比较难,偶还看不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 12:20 , Processed in 0.114698 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表