【发布时间】:2010-11-15 19:07:49
【问题描述】:
我正在对数据库运行以下查询:
CREATE TEMPORARY TABLE med_error_third_party_tmp
SELECT `med_error_category`.description AS category, `med_error_third_party_category`.error_count AS error_count
FROM
`med_error_category` INNER JOIN `med_error_third_party_category` ON med_error_category.`id` = `med_error_third_party_category`.`category`
WHERE
year = 2003
GROUP BY `med_error_category`.id;
唯一的问题是,当我创建临时表并对其执行 select * 时,它会返回多行,但上面的查询只返回一行。除非我指定 GROUP BY,否则它似乎总是返回一行,但随后它返回 1.0 的百分比,就像使用 GROUP BY 一样。
SELECT category,
error_count/SUM(error_count) AS percentage
FROM med_error_third_party_tmp;
以下是服务器规格:
服务器版本:5.0.77
协议版本:10
服务器:通过 UNIX 套接字的 localhost
有没有人发现导致问题的原因?
【问题讨论】:
标签: sql mysql group-by aggregate-functions