| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2577 人关注过本帖
标题:group by将查询结果分组问题(在线等高手)
取消只看楼主 加入收藏
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
结帖率:100%
收藏
 问题点数:0 回复次数:15 
group by将查询结果分组问题(在线等高手)
select distinct top 40 用户呢称,count(*) as 发贴量 from 发贴表
group by 用户呢称
order by count(*) desc
这个查询把所有用户的发贴量查出来了  
查询结果
用户名     发贴量
   sa          100
   admin     80

但是我需要41-80之间的数据
按道理应该这样
select distinct 用户名,count(*) as 发贴量 from 用户表
where 用户名 not in
(
select distinct top 40 用户名,count(*) from 用户表     ---这个查询我只想要按发贴量排过序的用户名
group by 用户名
order by count(*) desc

)
group by 用户名
order by count(*) desc

高手请指点
搜索更多相关主题的帖子: group 分组 结果 查询 
2008-07-05 10:15
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
实现这种效果有其他好方法吗

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 10:23
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
感觉我没说明白的或没理解的说一声

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 10:44
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
问题是这个语句查出来的是两列
用户名    发贴量
他不能做为 where条件
select distinct top 40 用户名,count(*) from 用户表     ---这个查询我只想要按发贴量排过序的用户名
group by 用户名
order by count(*) desc

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 10:54
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
where 用户名 not in
(
select distinct top 40 用户名,count(*) from 用户表     ---这个查询我只想要按发贴量排过序的用户名
group by 用户名
order by count(*) desc
)
他的条件若是来自两个的话就完了   肯定错误

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 10:55
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
从41-80条数据的条件还必须不等于按照发贴量排过序的所有用户的前40位

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 10:57
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
select 发帖人 from 发帖表 where [id] in(
select distinct top 5 [id] from 发帖表
where [id] not in (select top 20 [id] from 发帖表)) order by [id]

你这样试试


发贴表中没ID这个字段啊

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 11:30
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
那个ID是group by 生成的字段

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 11:33
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
给点思路啊

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 12:02
雪雨星风
Rank: 1
来 自:北京
等 级:新手上路
威 望:1
帖 子:566
专家分:0
注 册:2007-10-11
收藏
得分:0 
这我知道  
我需要条件是根据发贴量排序的前40条 的用户名

C#发烧友QQ群1:5953354   QQ群2:68096127  QQ群3:30217249  QQ群4:37023079   为了更好方便大家交流学习,请不要重复加群
2008-07-05 12:04
快速回复:group by将查询结果分组问题(在线等高手)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041873 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved