数据库的查询排序、分组查询及筛选

时间:2022-05-09 09:37:33

- 查询排序

– 语法 :order by 字段 asc/desc
– asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
– desc: 倒序,反序。数值:递减,字母:自然反序(z-a)

– 默认情况下,按照插入记录顺序排序
SELECT * FROM student;

– 需求: 按照id顺序排序
SELECT * FROM student ORDER BY id ASC;
SELECT * FROM student ORDER BY id; – 默认正序

SELECT * FROM student ORDER BY id DESC;– 反序

– 注意:多个排序条件
– 需求: 按照servlet正序,按照jsp的倒序
SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

- 分组查询

– 需求: 查询男女的人数
– 预期结果:
    男 3
   女 2
   1) 把学生按照性别分组(GROUP BY gender)
   2) 统计每组的人数(COUNT(*))
SELECT gender,COUNT(*) FROM student GROUP BY gender;

  • 分组查询后的筛选

    – 需求: 查询总人数大于2的性别
      1) 查询男女的人数
       2)筛选出人数大于2的记录(having)
       注意: 分组之前条件使用where关键字,分组之前条件使用having关键字
    SELECT gender,COUNT() FROM student WHERE GROUP BY gender HAVING COUNT()>2;