2016-07-11 12 views
0

SUM ist eine UNION Abfrage erforderlich, um Folgendes zu erreichen. Ich habe eine Tabelle mit Daten, die wie folgt aussieht:SUM die Ergebnisse einer COUNT() in MySQL

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

Ich mag würde die Gesamtzahl der Zeiten erhalten wir 2016-04-03 jede und alle ID für das Datum gesehen haben. Also wäre die SUMME hier 3, wobei 5 eine Zählung von 2 hat, 3 eine Zählung von 1, 2 eine Zählung von 1 hat.

Ist eine UNION erforderlich, um diese Arbeit zu machen?

Dies wird den Einsatz von MySQL 5.6+

+0

Ist das, was Sie nach ? 'select_id, count (*) von youtable wo some_date = '2016-04-03' group von some_id' – sgeddes

+0

Wie sollen die Ergebnisdaten dargestellt werden? Wenn es nur die Summe ist, würde nur eine Zählung tun, was Sie wollen. –

+0

Die einfache Antwort: Nein, Sie würden keine "Union" verwenden. – sstan

Antwort

2

Verwendung COUNT(DISTINCT) erfordert:

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

Ich glaube nicht, das ein 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

Ich bin mir nicht sicher, ich verstehe, was du meinst? –

+0

Nein, es wird nicht, ich füge die ID nicht zusammen, ich füge nur 1 hinzu :) –