把 GROUP BY 加入 SQL 的原因是,合计函数(比如 SUM)在每次被调用后会返回所有列的合计,如果没有 GROUP BY,就无法计算每个单独列值组合的总和。
GROUP BY 的语法:
SELECT column,SUM(column) FROM table GROUP BY
column
Example:
表customer
company product_num
A 1000
B 5000
A 10000
SELECT Company, SUM(product_num) FROM customer
结果:
A 16000
B 16000
C 16000
上面的结果没有进行分类统计,如果要进行分类统计的话,要用Group by语句
SELECT Company, SUM(product_num) FROM customer group by Company
结果:
A 11000
B 5000
把 HAVING 加入 SQL 的原因是,WHERE 无法应用于合计函数,而如果没有 HAVING,就无法测试结果条件。
SELECT Company,SUM(product_num) FROM customer GROUP BY Company HAVING SUM(
product_num)>10000
结果:
A 11000
ORDER BY 子语句用于对行进行排序。