t3
表的结构如下:
Select
* FROM t3
id edu age
1
本
20
2
本
25
3
本
30
4
本
30
5
本
25
6
中
15
7
中
20
8
中
20
9
专
20
10
专
20
11
专
20
12
专
30
13
专
30
--------------------------------------
Select
distinct edu,age
FROM
t3
order
by age
edu age
中
15
本
20
中
20
专
20
本
25
本
30
专
30
小结:1、
distinct
edu,age
是将
edu,age
两个字段看成一体,只要
edu,age
这两个字段相同,
就将其视为重复记录
;
2
、在
Select
中只能用一次
distinct
或
all;
3
、在
Select
中用了
distinct
就不能用
ALL
;用了
ALL
就不能用
distinct
;
不能同时存在;
4
、如果指定了
SELECT
DISTINCT
,那么
ORDER
BY
子句中的项就必须出现在选择列表中
;
---------------------------------------
select
edu,age,count(*) as '
人数
'
--into
from
t3
--where id<10
--where
分组前记录的过滤条件
group
by edu,age
--having
分组后对组的过滤条件
order
by age
edu age
人数
中
15 1
本
20 1
中
20 2
专
20 3
本
25 2
本
30 2
专
30 2
小结:1、
distinct
edu,age
是将
edu,age
两个字段看成一体,只要
edu,age
这两个字段相同,
就将其视为同组
;
2
、
SELECT
子句中的列名必须为分组列或列函数;
3
、
where
子句中的列名可以为表中任意字段;
4
、
having
子句中的列名必须为分组列或列函数;