在 SQL 里,聚合函数 (aggregate functions)(比如 COUNT、MAX、MIN、AVG、SUM)的核心作用就是:
GROUP BY 使用,就是「按照分组」把每个组的多行压缩成一行。null , 除了count(*)GROUP BYSELECT COUNT(*), MAX(age)
FROM student;
GROUP BY,整个表被当作一个整体。count 值,max 值)。GROUP BYSELECT dept_name, COUNT(*), MAX(age)
FROM student
GROUP BY dept_name;
dept_name 分组单独计算。dept_name 的 distinct 数量。group by 一行”,就是聚合函数把多个 row「合成」了一个 row。SELECT
athletes.country_code,
COUNT(*) FILTER (WHERE medal_info.name = 'Gold Medal') AS gold_medal,
COUNT(*) FILTER (WHERE medal_info.name = 'Silver Medal') AS silver_medal,
COUNT(*) FILTER (WHERE medal_info.name = 'Bronze Medal') AS bronze_medal
FROM medals
INNER JOIN medal_info
ON medals.medal_code = medal_info.code
INNER JOIN athletes
ON medals.winner_code = athletes.code
WHERE athletes.country_code = 'USA'
GROUP BY athletes.country_code;