2016-03-21 19 views
1

I Tabelle haben folgende, wo ich die Kunden zählt speichern jede WocheMySQL nächsten Wert erhalten, indem Datum

| area | date  | count | 
|---------|------------|-------| 
| AREA I | 2016-03-20 | 530 | 
| AREA I | 2016-03-13 | 520 | 
| AREA II | 2016-03-20 | 370 | 

Jetzt möchte ich an einem anderen Tisch die nächste Kundenzahl von Datum Wert erhalten. Also wenn ich z. Datum 2016-03-15 sollte 520 für AREA I und 370 für AREA II zurückgeben.

Beispiel query:

SELECT a.period, a.area, b.customerCount FROM periods a 
JOIN customer_count b ON (...) 
GROUP BY a.period, a.area 

Ich denke, dass ich ABS() und DATEDIFF() irgendwie verwenden, aber das habe ich nicht bekommen. Oder gibt es einen anderen Weg, dies zu tun?

Vielen Dank im Voraus.

Antwort

2

zu verwenden versuchen:

SELECT a.period, a.area, b.customerCount FROM periods a 
JOIN customer_count b ON (...) 
GROUP BY a.period, a.area 
ORDER BY ABS(DATEDIFF(`date`, NOW())) 
+0

Bin ich richtig, dass diese Aufträge Ergebnisse nach Gruppierung? Ich denke, sie müssen in 'JOIN' bestellt werden – lingo

Verwandte Themen