关于SQL的查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:39:17
现在有一个表a

name subject score
a aa 60
b bb 70
c cc 90
a bb 90
a cc 95
b cc 85

现在有几个问题:
1. 这个表中有多少人
2. 获得每一个人的score和。
3. 如果一个人的的所有科目成绩都大于80,请列举他们的名字

1.
select count(distinct name)
from a;
2.
select sum(score)
from a
group by name;
3.
select name
from a
group by name
having min(score)>80;

SELECT COUNT(DISTINCT NAME)
FROM TABLE;

SELECT NAME,SUM(SCORE)
FROM TABLE
GROUP BY NAME;

SELECT NAME
FROM TBALE
GROUP BY NAME
HAVING MIN(SCORE) > 80;

create table #tmp
(
[name] varchar(10),
subject varchar(20),
score int
)
insert into #tmp values('a','aa','60')
insert into #tmp values('b','bb','70')
insert into #tmp values('c','cc','90')
insert into #tmp values('a','bb','90')
insert into #tmp values('a','cc','95')
insert into #tmp values('b','cc','85')

--1.
select count(distinct [name]) as 人数 from #tmp