Siedze, siedzie i nie mogę wpaść na pomysł jak rozgryźć poniższe zapytanie SQL, a że najczęściej rozwiązania bywają banalne i nie tam gdzie trzeba ich szukamy to chciałbym się was poradzić, może świeże spojrzenie na problem coś pomoże...
Mam przykładową tabele:
Kod
+------------+----------+
| Data | Czas |
+------------+----------+
| 2009-12-01 | 12:02:02 |
| 2009-12-01 | 13:43:11 |
| 2009-12-01 | 15:42:02 |
| 2009-12-02 | 16:15:41 |
| 2009-12-02 | 15:32:11 |
| 2009-12-03 | 12:06:01 |
| 2009-12-03 | 13:34:45 |
| 2009-12-03 | 11:22:54 |
| 2009-12-03 | 10:35:34 |
| 2009-12-04 | 19:56:12 |
+------------+----------+
| Data | Czas |
+------------+----------+
| 2009-12-01 | 12:02:02 |
| 2009-12-01 | 13:43:11 |
| 2009-12-01 | 15:42:02 |
| 2009-12-02 | 16:15:41 |
| 2009-12-02 | 15:32:11 |
| 2009-12-03 | 12:06:01 |
| 2009-12-03 | 13:34:45 |
| 2009-12-03 | 11:22:54 |
| 2009-12-03 | 10:35:34 |
| 2009-12-04 | 19:56:12 |
+------------+----------+
I sprawa polega na tym żeby teraz był obliczany COUNT dla załóżmy ostatnich 3 dat (2009-12-04,2009-12-03,2009-12-02). Czyli wynik był następujący:
Kod
+------------+----------+
| Data | Ile_czas |
+------------+----------+
| 2009-12-02 | 2 |
| 2009-12-03 | 4 |
| 2009-12-04 | 1 |
+------------+----------+
| Data | Ile_czas |
+------------+----------+
| 2009-12-02 | 2 |
| 2009-12-03 | 4 |
| 2009-12-04 | 1 |
+------------+----------+
Oczywiście da sie problem odejść w ten sposób, aby w np. PHPie pobrać zapytaniem najpierw ostatnie 3 daty, a potem puścić kolejne 3 zapytania z countem dla poszczególnych dat, ale napewno da się to w jakiś łatwiejszy sposób odfiltrować w sql. Próbowałem wielu zapytań, nabliższe rozwiązania byłoby chyba coś takiego, ale niestety nie działa:
SELECT count(Czas) AS Ile_czas FROM tabela WHERE DATA = '(SELECT DISTINCT Data FROM tabela LIMIT 3)'
Jakieś sugestie, pomoc...?