在mysql中有没有办法实现
SELECT COUNT( SUM(field2) ) FROM TABLE WHERE field1='value' GROUP BY field2
使用计算字段2的总和返回一行。
Field 1&&字段2都不是唯一的。
如果需要更多信息,请告诉我。
修改: 我没想清楚。 我需要COUNT的COUNT。
所以来自字段2的所有计数值。 这可以通过获取行数来实现,但我选择了这个:
SELECT COUNT( first_count ) total_count FROM
( SELECT COUNT( field2 ) as first_count FROM TABLE
WHERE field1='value' GROUP BY field2 )t1
或者是否有更快的查询?
干杯!
答案 0 :(得分:5)
我认为你的意思是:
SELECT field2
, field2 * COUNT(*)
FROM TABLE
WHERE field1 = 'value'
GROUP BY field2
此外:
没有GROUPED BY
。有:GROUP BY
在您更新和澄清之后,我认为您的查询显示的内容与:
相同SELECT COUNT( DISTINCT field2 ) AS total_count
FROM TABLE
WHERE field1 = 'value'
答案 1 :(得分:5)
您的更新
SELECT COUNT( first_count ) total_count FROM
(
SELECT COUNT( field2 ) as first_count FROM TABLE
WHERE field1='value' GROUP BY field2 )t1
)
是每个field2的COUNT计数,与唯一field2的计数相同;
SELECT COUNT(DISTINCT field2) FROM TABLE WHERE field1='value'