首页 > 数据库技术 > 详细

SQL中使用GROUP BY注意事项

时间:2020-08-04 16:57:16      阅读:171      评论:0      收藏:0      [点我收藏+]

书写聚合建之外的列名会发生错误

使用聚合函数时,SELECT子句中只能存在以下3中元素

  • 常数
  • 聚合函数
  • GROUP BY指定的列名
-- 以下sql会报错
SELECT product_name, purchase_price, COUNT(*)
FROM Product
GROUP BY purchase_price;

-- 正确写法
SELECT purchase_price, COUNT(*)
FROM Product
GROUP BY purchase_price;

GROUP BY子句中使用别名可能会报错

-- 可能会报错的写法
SELECT product_type AS pt, COUNT(*)
FROM Product
GROUP BY pt;

-- 正确写法
SELECT product_type AS pt, COUNT(*)
FROM Product
GROUP BY product_type;

这个是有sql语句的执行顺序决定的,因为是先执行的GROUP BY语句,再执行的SELECT语句

GROUP BY子句的返回结果是随机排序的

不要在WHERE子句中使用聚合函数

-- 错误写法
SELECT product_type, COUNT(*)
FROM Product
WHERE COUNT(*) = 2
GROUP BY product_type;

-- 正确写法
SELECT product_type, COUNT(*)
FROM Product
GROUP BY product_type
HAVING COUNT(*) = 4;

SQL中使用GROUP BY注意事项

原文:https://www.cnblogs.com/guolizhi/p/13433861.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!