sql语句编写

xu82481469 2011-08-21 05:39:21
是这样的,我有个数据库有以下3项
ID
class
AccessTime

我想查询在2000年1月1日入学的学生中哪个班的最多。
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuanzhang5687 2011-08-21
  • 打赏
  • 举报
回复
create table tb
(
id int,
class varchar(10),
strtime datetime
)
insert into tb values(1,'1班','2000-01-01')
insert into tb values(2,'1班','2000-01-01')
insert into tb values(3,'1班','2001-01-01')
insert into tb values(4,'1班','2000-01-01')
insert into tb values(5,'1班','2001-01-01')
insert into tb values(6,'1班','2000-01-01')
insert into tb values(7,'1班','2000-01-01')

insert into tb values(1,'2班','2000-01-01')
insert into tb values(2,'2班','2001-01-01')
insert into tb values(3,'2班','2000-01-01')
insert into tb values(4,'2班','2000-01-01')
insert into tb values(5,'2班','2000-01-01')

insert into tb values(1,'3班','2000-01-01')
insert into tb values(2,'3班','2000-01-01')
select class from
(
select count(id) num,class from tb
where accessTime = '2000-01-01' group by class
) a
where num =
(
select max(num) from
(
select count(id) num,class from tb
where accessTime = '2000-01-01' group by class
)a
)
xmlbh 2011-08-21
  • 打赏
  • 举报
回复
同意 LMAOhuaNL
LMAOhuaNL 2011-08-21
  • 打赏
  • 举报
回复
select class,count(*) from tb where AccessTime='2000-1-1' group by class order by count(*) desc
kensouterry 2011-08-21
  • 打赏
  • 举报
回复
select a.class, a.number
from
(select class, count(id) as number
from tb
where AccessTime='2000-1-1'
group by class) a
where a.number=max(a.number)
chuanzhang5687 2011-08-21
  • 打赏
  • 举报
回复
还是id代表着学生id?
chuanzhang5687 2011-08-21
  • 打赏
  • 举报
回复
班级人数在哪个字段?
geniuswjt 2011-08-21
  • 打赏
  • 举报
回复

--这样?
select class,count(*) from tb
where AccessTime='2000-1-1'
group by class
order by count(*) desc

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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