Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php]Grupowanie po dacie?
Forum PHP.pl > Forum > Bazy danych > MySQL
neosatan
Witam,
mam tabelę w sql, która posiada kolumny takie jak: cena, data_poczatku, data_konca, id_usera, itp. I teraz chciałbym zrobić tak, by pobrać kwoty poszczególnych faktur (co jest ekwiwalentne z zliczeniem wszystkich płatności w danym miesiącu).

Na szybko napisałem sobie takie zapytanie do bazy danych:

  1. SELECT SUM(cena), EXTRACT(YEAR FROM s_time) AS 'year', EXTRACT(MONTH FROM s_time) AS 'month', id_usera FROM uzytkownicy_platnosci GROUP BY year, month, id_usera


Daje mi pożądane wyniki, ale zastanawiam się czy nie można tego lepiej napisać, ponieważ personalnie nie lubię EXTRACT() używać przy tego typu zapytaniach.
skowron-line
Cytat(neosatan @ 11.04.2012, 12:16:00 ) *
ponieważ personalnie nie lubię EXTRACT() używać przy tego typu zapytaniach.


<!--Geshi:324608:sql--><pre class="sql" style="font-family:monospace;"><div class="head">[SQL] ime<span class="br0">)</span></div>
[/list]<div class="foot">[SQL]
)</span></div>
[/list]<div class="foot">[SQL] <a href='./Pobierz-Plik-324609.html' target='_blank
, <a href='Plaintext-324609.html' target='_blank'>plaintext </div></pre><!--/Geshi:324609:sql-->

i nie wiem czy przypadkiem nie dało by rady DATE_FORMAT
@edit:
sprawdziłem date_format też da radę
neosatan
MONTH() i YEAR() dało radę. Wizualnie już mnie tak nie kole w oczy, ale podejrzewam, że MONTH() i YEAR() to tylko aliasy na odpowiednie EXTRACT().
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.