有没有办法在mysql中实现
SELECT COUNT( SUM(field2) ) FROM TABLE WHERE field1='value' GROUP BY field2
Run Code Online (Sandbox Code Playgroud)
返回一行,计算字段2的总和.
字段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
Run Code Online (Sandbox Code Playgroud)
或者是否有更快的查询?
干杯!
我想你的意思是:
SELECT field2
, field2 * COUNT(*)
FROM TABLE
WHERE field1 = 'value'
GROUP BY field2
Run Code Online (Sandbox Code Playgroud)
也:
没有GROUPED BY.有:GROUP BY
在您更新和澄清之后,我认为您的查询显示的内容与以下内容相同:
SELECT COUNT( DISTINCT field2 ) AS total_count
FROM TABLE
WHERE field1 = 'value'
Run Code Online (Sandbox Code Playgroud)
你的更新
SELECT COUNT( first_count ) total_count FROM
(
SELECT COUNT( field2 ) as first_count FROM TABLE
WHERE field1='value' GROUP BY field2 )t1
)
Run Code Online (Sandbox Code Playgroud)
是每个field2的COUNT计数,与唯一field2的计数相同;
SELECT COUNT(DISTINCT field2) FROM TABLE WHERE field1='value'
Run Code Online (Sandbox Code Playgroud)