2016-07-11 23 views
0

是实现以下操作所需的UNION查询。我有一个数据表,看起来像这样:在MySQL中对COUNT()的结果进行求和

some_id | some_date 
-------------------- 
5  | 2016-04-03 
3  | 2016-04-03 
2  | 2016-04-03 
5  | 2016-04-03 

我想获得的,我们见过的任何和所有的ID为约会2016-04-03的总次数。所以SUM在这里是3,其中5的计数是2,3,计数为1,2的计数是1.

是否需要使用UNION?

这是使用MySQL 5.6+

+0

这是你之后是什么? 'select some_id,count(*)from yourtable where some_date ='2016-04-03'by some_id' – sgeddes

+0

你想如何呈现结果数据?如果它只是总数,只需一个数就可以做你想要的。 –

+0

简单的回答:不,你不会使用'union'。 – sstan

回答

2

使用COUNT(DISTINCT)

SELECT COUNT(DISTINCT some_id) 
FROM YourTable 
WHERE some_date = '2016-04-03' 
0

我不认为这需要一个UNION

SELECT some_id, SUM(1) as cnt, some_date 
FROM some_table 
GROUP BY some_id, some_date 
WITH ROLLUP 

Here is a test.

+0

我不确定我明白你的意思? –

+0

不,它不会,我不是总结身份证,我只是加1 :) –

相关问题