sql 统计报名信息

一个公司组织运动会,要求统计报名信息。
建三张表。
1.
ContractedBlock.gif ExpandedBlockStart.gif Code
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[employee](
    
[id] [bigint] IDENTITY(1,1NOT NULL,
    
[name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
ON [PRIMARY]


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[sportitem](
    
[id] [int] IDENTITY(1,1NOT NULL,
    
[name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
ON [PRIMARY]

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[empchooseitem](
    
[employee] [bigint] NOT NULL,
    
[item] [int] NOT NULL
ON [PRIMARY]

列出报名最多的那个项目的人员列表
sql:
ContractedBlock.gif ExpandedBlockStart.gif Code

select  e.name  from employee e, empchooseitem ec
where e.id=ec.employee and 
ec.item
=
(
select l.item fromselect count(employee) c,h.item item
 
from empchooseitem h
 
group by h.item) l
where l.c in
(
select max(f.c) from  (select count(employee) c,b.item item
 
from empchooseitem b
 
group by b.item) f 
)

)
2.统计每项报名人数
sql:
select  a.name,c.humannum  from  sportitem a,

(
select   b.item bitem, count (
b.employee
) humanNum 
from  
empchooseitem b
group   by  b.item  ) c
where  a.id = c.bitem

转载于:https://www.cnblogs.com/netfuns/archive/2009/09/22/1572090.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值