Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]if, else w zapytaniu SQL
meehow18
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

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


Witam,
mam takie zapytanie,

  1. SELECT FROM_UNIXTIME(1800 * FLOOR(date/1800)) AS period_start, COUNT(*) AS count FROM readed_messages
  2. GROUP BY period_start ORDER BY period_start ASC


Jak do niego dorobić klauzule if/else.
Jeśli istnieje jakiś taki rekord to zwraca count, a jesli nie to 0.

Bo obecnie zapytanie liczy mi ilość dodanych rekordów do tabeli w przedziale co 15 min, ale jeśli w danym przedziale nie było dodanego zadnego rekordu go nie podaje. A chciałbym aby zwracało 0 (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
robertpiaty
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Jest też inny spartański pomysł bazujący na tym co napisał Xelah. Zamiast tworzyć dodatkową tabelę na stałę w bazie możesz sobie wygenerować w PHP fragment sqlki z unionami z przedziałem czasowym który Cię interesuje. Poniżej fragment prezentujący mój pomysł. Nie wiem na ile to będzie wydajne.

  1. ...
  2. FROM
  3. (
  4. SELECT '10:00:00' AS time_data
  5. UNION
  6. SELECT '10:15:00' AS time_data
  7. UNION
  8. SELECT '10:30:00' AS time_data
  9. ) AS period_data
  10. JOIN
  11. ...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 08:33