使用PHP/MySQL创建多变量统计临时表的疑问
MySQL临时表创建与统计结果说明
首先你给出的SQL语句存在语法错误,无法正常执行,问题如下:
turnover字段后缺少逗号,导致语法不合法turnovertotal没有对应的计算逻辑,需要用聚合函数来定义- 使用
COUNT(*)这类聚合函数时,必须搭配GROUP BY子句指定分组字段(比如按article分组)
修正后的正确SQL示例:
CREATE TEMPORARY TABLE test SELECT article, COUNT(*) AS soldtotal, SUM(turnover) AS turnovertotal FROM 你的业务表名 GROUP BY article;
关于你关心的统计结果:
当某商品售出5次、单次营业额13美元时,soldtotal会得到5(COUNT(*)统计的是该商品的销售记录条数),turnovertotal会得到65(SUM(turnover)是5次13美元的累加值),完全不会出现合并成70的情况——这两个统计逻辑完全独立,一个是计数、一个是求和,不会把结果混加在一起。
内容的提问来源于stack exchange,提问作者Krexxen
相关产品推荐
相关产品推荐

