关于sql的简单问题100分.(100分)

  • 主题发起人 主题发起人 xu_ml
  • 开始时间 开始时间
X

xu_ml

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据表有四个字段,考试名称、学生号、姓名、入学时间。(考试名称为各种考试的名字,
入学时间为年份如:1999,2000)
我想用sql语句把考试名称相同的和入学时间相同的数据个数统计出来。
既想求出如下:
名称 1999 2000 ......
cet-4 人数 人数 人数
cet-6 人数 人数 人数
...
...
 
算了吧!SQL怎能查出列不确定的数据集啊????只取一年还可以。

SELECT 考试名称 名称, COUNT(学生号) 人数1999年 FROM 表
WHERE DATEPART(yyyy,入学时间)='1999'
GROUP BY 考试名称
 
先建立一个临时表,再循环使用楼上的方法
 
可以用下面的语句
select 考试名称,入学时间,count(学生号) as 人数 from table_name
group by 考试名称,入学时间
用这个语句就能统计出考试名称和入学时间相同的人数,只是显示的方式是:
' 考试名称 入学时间 人数 '
如果要在程序中交叉显示可用decision cube 组件.
 
在查询语句中使用别名就可以做到了。没问题,不要那么复杂的。
 
请问楼上的兄弟能说得更具体点吗?最好是把语句写出来.
 
用GROUP + COUNT , 求COUNT>1的~~~好像只能求出一个字段的重复值
 
select a.考试名称
, n1999=(select count(*) from 表 b99
where b99.考试名称 = a.考试名称 and b99.入学时间 = 1999)
, n2000=(select count(*) from 表 b00
where b00.考试名称 = a.考试名称 and b00.入学时间 = 2000)
....
from 表 a
 
接受答案了.
 
后退
顶部