获得COUNT()的SUM()

Pao*_*der 3 mysql sql

有没有办法在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)

或者是否有更快的查询?

干杯!

ype*_*eᵀᴹ 5

我想你的意思是:

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)


Ale*_* K. 5

你的更新

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)