Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szczególne zapytanie :)
emilton
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.08.2008

Ostrzeżenie: (0%)
-----


Witam,

Mam w tabeli mysql rekordy gdzie jedną z kolumn jest pole DATETIME. Potrzebuje zadać takie zapytanie do bazy, które da odpowiedź: dla których godzin danego dnia są rekordy w bazie. Nie ważne ile ich jest, ważne tylko w których godzinach występuja odczyty.

Jakie zadanie ma spełnić uzyskana informacja?
Mam w bazie dane oparte na dacie. Userzy będą mogli wybierać sobie datę i godzinę z kalendarza na stronie www (format godziny to tylko 0,1,2,3 ...23) i chcę zadbać by mogli kliknąć tylko w wybrane daty i godziny (tylko te co do których tyczą się rekordy w bazie).

Problem jest taki że dane chciałbym uzyskać w postaci jak najbardziej zoptymalizowanego (czasowo i pod względem wydajności procesora) zapytania.

Czy ktoś na forum wie jak rozwiązać przedstawiony problem?

Pozdrawiam

emilton
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Tytuł ma opisywać problem. Proszę go poprawić, w innym wypadku temat zamknę.
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tak na szybko:
  1. mysql> SELECT * FROM hours;
  2. +----+---------------------+
  3. | id | datetime |
  4. +----+---------------------+
  5. | 1 | 2009-05-12 11:30:45 |
  6. | 2 | 2009-05-12 14:30:45 |
  7. | 3 | 2009-05-12 14:38:45 |
  8. | 4 | 2009-05-12 14:48:45 |
  9. | 5 | 2009-05-12 19:48:45 |
  10. | 6 | 2009-05-13 11:48:45 |
  11. +----+---------------------+
  12. 6 rows IN SET (0.00 sec)
  13.  
  14. mysql> SELECT COUNT(*), HOUR(`datetime`) AS hour FROM hours WHERE DATE(`datetime`) = '2009-05-12' GROUP BY(hour);
  15. +----------+------+
  16. | COUNT(*) | hour |
  17. +----------+------+
  18. | 1 | 11 |
  19. | 3 | 14 |
  20. | 1 | 19 |
  21. +----------+------+
  22. 3 rows IN SET (0.00 sec)
  23.  
  24. mysql>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:35