2017-05-19 4 views
-2

ich diese Tabelle auf mysql haben:Summe count() nach Datum und Gruppe auf, während PHP

 
user | open | date 
--------------------------------- 
User1 |  1  | 2017-05-19 
User2 |  1  | 2017-05-19 
User3 |  1  | 2017-05-19 
User4 |  1  | 2017-05-19 
User1 |  3  | 2017-05-18 
User2 |  5  | 2017-05-18 
User4 |  20  | 2017-05-17 
User1 |  2  | 2017-05-17 
User2 |  7  | 2017-05-17 

i Suchergebnis zu machen, während Daten mysql:

open = 2017.05.19

open2 = 2017-05-18

OPEN3 = 2017-05-17

 
user | open | open2 | open3 
--------------------------------------------- 
User1 |  1  |  3  |  2  
User2 |  1  |  5  |  7 
User3 |  1  |  0  |  0 
User4 |  1  |  0  |  20 

Sie haben eine Idee ???

Ich habe Gruppe von Benutzer, aber nach ihr das Problem !!!

danke von im voraus für ihre hilfe.

Antwort

1

können Sie Fall verwenden, wenn

select user, 
     ifnull(case when date = '2017-05-19' then open end , 0)as open, 
     ifnull(case when date = '2017-05-18' then open end, 0) as open2, 
     ifnull(case when date = '2017-05-17' then open end,0) as open3, 
    from my_table 
+0

sollte es die Spalte ‚offen‘ von der ursprünglichen Tabelle sein glaube ich, nicht eine Zählung. – dev8080

+0

@ dev8080 richtige Antwort udpated – scaisEdge

0
SELECT user, 
SUM(IF(date='2017-05-19',open,0)) AS open1, 
SUM(IF(date='2017-05-18',open,0)) AS open2, 
SUM(IF(date='2017-05-17',open,0)) AS open3 
FROM SomeTableName 
GROUP BY user; 
+1

Vergiss nicht 'von' ;-) –

+0

sehr danke, hat super funktioniert, ich war fast da, aber ich habe die Anfrage nicht richtig formuliert! –