数据统计和汇总求助

yifanwu 2010-06-21 05:31:44
有两个表:
学生表: 年级号, 班号, 学号, 是否在册
购书记录表: 学号, 购书时间, ...

现在需要根据三个条件(年级号, 班号,时间段)来进行查询汇总,之后输出一个表:

[年级号], [班号], [时间段内在册[学号]总数], [时间段内有多少个在册的[学号]购书]


好久没有用MSSQL了,想了很久没有想出来这个要怎么做才能效率比较高的实现,因为数据量还是很大的,应该最少10W条。所以在此向高手求助了。sqlserver2000


谢谢

...全文
162 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifanwu 2010-06-21
  • 打赏
  • 举报
回复
谢谢xys_777的回复

你的SQL加上GROUP后可以正确执行,我再加点数据测试一下。
永生天地 2010-06-21
  • 打赏
  • 举报
回复
select s.年级号, s.班号,
count(distinct s.学号) 时间段内在册[学号]总数,
count(distinct g.学号) 时间段内有多少个在册的[学号]购书
from 学生表 s left join 购书记录表 g on s. 学号=g.学号
where s.年级号='xxx', s.班号='xxx',g.时间段 between 'xxx' and 'xxx'
claro 2010-06-21
  • 打赏
  • 举报
回复
帮顶

yifanwu 2010-06-21
  • 打赏
  • 举报
回复
那个[购书时间]就是为了查询的时候能知道:买书的时间段,从而才能统计一个时间段内那些[学号]买了书
永生天地 2010-06-21
  • 打赏
  • 举报
回复
信息不够用,时间难道只能通过 购书时间来确定

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧