Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%)
|
Struktura tabeli:
Przykładowe dane
Chcę zliczyć liczbę wystąpień każdej liczby. Dla jednej kolumny nie ma z tym problemu:
Czy da się wykonać zapytanie dla wielu kolumn czy trzeba pobrać wszystkie dane i zliczać je po stronie PHP? |
|
|
|
![]() |
Post
#2
|
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
jedyne co wymyśliłem żeby to jakoś sensownie zrobić, to tabela tymczasowa w której masz wszystkie krotki, inaczej jest to niewykonalne (chyba) bez używania programowania proceduralnego i/lub php. pomysł wygląda tak:
mamy tabele: Kod SELECT * FROM test; id | data | j | d | t | c | p | s ----+------------+----+----+----+----+----+---- 1 | 2011-03-01 | 1 | 3 | 21 | 22 | 23 | 24 2 | 2011-03-01 | 2 | 4 | 25 | 26 | 27 | 28 3 | 2011-03-01 | 10 | 1 | 29 | 30 | 41 | 46 4 | 2011-03-01 | 3 | 10 | 28 | 27 | 35 | 10 5 | 2011-03-01 | 4 | 22 | 4 | 9 | 29 | 1 6 | 2011-03-01 | 5 | 33 | 13 | 17 | 44 | 25 7 | 2011-03-01 | 5 | 41 | 2 | 3 | 4 | 5 8 | 2011-03-01 | 6 | 12 | 7 | 8 | 9 | 11 9 | 2011-03-01 | 7 | 8 | 12 | 13 | 14 | 15 10 | 2011-03-01 | 6 | 14 | 16 | 17 | 18 | 19 (10 rows) robimy tymczasowa:
i dodajemy do niej rekordy:
to pomysł trochę uciążliwy bo pewnie trzeba było by jakiegoś triggera dodać który podczas dodawania do tabeli "głównej" dodawał też do tej tymczasowej ale jest to wykonalne. po stronie proceduralnej (nie wiem jak w mysql) ale w postgre na pewno się da. po stronie php to wiadomo - łatwo, prosto i przyjemnie. |
|
|
|
pitu120 Zliczanie wartości z wielu kolumn 27.03.2011, 17:27:59
piotrooo89 [SQL] pobierz, plaintext SELECT COUNT(*) F... 27.03.2011, 17:29:43
pitu120 Zapytanie nie przedstawia oczekiwanego efektu.
Za... 27.03.2011, 17:36:59
Zigi Sam zrobiłeś prawie dobre zapytanie. Niestety prze... 27.03.2011, 18:37:13
pitu120 To był tylko przykład, kolumny mają inne nazwy. 27.03.2011, 18:49:49
Valdi_B Proponuję drobne uzupełnienie:
Zamiast "gołeg... 28.03.2011, 07:36:36 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 00:14 |