![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 24.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
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 | +------------+----------+ 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 | +------------+----------+ 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:
Jakieś sugestie, pomoc...? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kod mysql> SELECT * FROM tbl1; ?
+------------+----------+ | Data | Czas | +------------+----------+ | 2009-12-01 | 12:02:12 | | 2009-12-01 | 14:02:12 | | 2009-12-02 | 15:02:12 | | 2009-12-02 | 15:12:12 | | 2009-12-02 | 15:12:55 | | 2009-12-02 | 15:52:55 | | 2009-12-04 | 10:52:55 | | 2009-12-04 | 10:52:15 | | 2009-12-04 | 10:00:15 | | 2009-12-05 | 09:00:15 | +------------+----------+ 10 rows in set (0.00 sec) mysql> SELECT Data, COUNT(Czas) AS IleCzas FROM tbl1 GROUP BY Data ORDER BY Data DESC LIMIT 3; +------------+---------+ | Data | IleCzas | +------------+---------+ | 2009-12-05 | 1 | | 2009-12-04 | 3 | | 2009-12-02 | 4 | +------------+---------+ 3 rows in set (0.00 sec) mysql> |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 24.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
No tak...
![]() ![]() Dziękować bardzo ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:51 |