我针对数据库运行以下查询:MySQL的单行返回从临时表
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,但它返回的百分比应该像GROUP BY一样。
SELECT category,
error_count/SUM(error_count) AS percentage
FROM med_error_third_party_tmp;
这里是服务器规格:
服务器版本:5.0.77
协议版本:10
服务器:localhost通过UNIX套接字
是否有人看到这个就导致一个问题问题?
+1,用于正确指出逻辑问题 – Randy 2010-11-15 19:38:03
好吧,这样可以让我们了解GROUP BY。我试图得到临时表中每行错误的百分比除以总数。正如你所说,这不能被依赖。 – Khirok 2010-11-15 21:39:47
我也将按类别分组。 – Khirok 2010-11-15 21:40:11