![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 8.05.2005 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Witam mam tablicę o nazwie grunt a w niej pola: id, typ, cena. Chciałbym zsumować wszystkie rekordy cena jeżeli typ = coś tam, czytałem o SUM ale nie zrozumiałem nic z niego
![]() Aby to badziej zoobrazować: SELECT suma[cena] FROM grunt WHERE id = x |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 23.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, nie chce mi się tworzyć nowego wątku to dopisze sobie tu.
Mam taką tabele: id typ data 3 k 2010-07-23 11:22:59 2 o 2010-07-23 11:27:30 i chodzi mi o to, że potrzebuje zapytanie, które wybierze mi z tej tabeli np.5 najczęściej występujących (id) w ostatnim miesiącu, ze zliczeniem ilości wystąpień. Mam nadzieję, że w miarę jasno wyjaśniłem problem. Liczę na jakąś podpowiedz. Pozdrawiam i nie krzyczcie za miejsce postu, bo podobny temat trochę ![]() -------------------- Bo ludzie myślą, że to takie hop-siup...
programy na zlecenie, oprogramowanie dla firm, aplikacje desktopowe |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
COUNT(*) - do zliczenia wystąpień
WHERE + funkcje operujące na datach - do wybrania interesującego przedziału czasowego GROUP BY - do zgrupowania danych względem pola (tutaj: id) ORDER BY - do posortowania według zliczonych wystąpień LIMIT - do ograniczenia wyników (tutaj: 5) W razie problemów pisz podając swoje aktualne rozwiązanie. Ten post edytował phpion 23.07.2010, 12:00:21 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Algorytm:
1. Wybierz wszystkie rekordy od daty A do daty B 2. Pogrupuj je po wybranej kolumnie 3. Zsumuj pogrupowane wiersze 4. Posortuj według sumy malejąco 5. Wybierz tyle ile chcesz. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 23.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, oto co mi wyszło
no i chyba działa:D Pozdrawiam -------------------- Bo ludzie myślą, że to takie hop-siup...
programy na zlecenie, oprogramowanie dla firm, aplikacje desktopowe |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Prawie dobrze... Tylko order jest nie w tą stronę
![]() Poza tym sugestia na przyszłość... Nie nazywaj kolumn słowami zastrzeżonymi dla mysql (data) bo prosisz się o kłopoty sam. Jeśli coś liczysz, sumujesz i jest to kolumna wynikowa w liście SELECT to warto temu nadać alias. Prościej potem przez nazwę się odwołać, a i w order by wygodniej się aliasem posłużyć. Z innych rzeczy to zamiast pchać liczenie czasu do bazy, można już to po stronie PHP zrobić. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 02:35 |