![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam bazę, która wygląda mniej więcej tak:
[nazwa] [A] [B] [nazwa niepowtarzalna] nazwa 1 - 10 - 100 - nazwa_niepowtarzalna 1 nazwa 2 - 10 - 101 - nazwa_niepowtarzalna 2 nazwa 3 - 11 - 100 - nazwa_niepowtarzalna 1 nazwa 4 - 12 - 102 - nazwa_niepowtarzalna 3 nazwa 5 - 12 - 102 - nazwa_niepowtarzalna 3 nazwa 6 - 12 - 102 - nazwa_niepowtarzalna 3 nazwa 7 - 12 - 103 - nazwa_niepowtarzalna 4 nazwa 8 - 10 - 100 - nazwa_niepowtarzalna 1 w której grupuję wiersze by otrzymać niepowtarzalne nazwy w tabeli na stronie. Obok tych nazw chciałbym dwie liczby - ilość wystąpień [nazwa] i ilość wystąpień B, czyli np. Nazwa niepowtarzalna 1 - 2 - 1 Nazwa niepowtarzalna 2 - 1 - 1 Nazwa niepowtarzalna 3 - 3 - 1 Nazwa niepowtarzalna 4 - 1 - 1 Używam: SELECT tabela.*, count(a) as nazwa, count(b ) as ile_b FROM tabela WHERE a>=10 and b>=100 GROUP BY nazwa_niepowtarzalna. W tabeli wynikowej dostaję (chyba) poprawne wartości count(b ) natomiast count(a ) jest błędny i jest równy count(b ). Nazwa niepowtarzalna jest przypisana ściśle do wartości A w tabeli, więc grupowanie po niej powoduje, że mam jeden wiersz z pierwszym wystąpieniem wartości A. Po grupowaniu wygląda to tak: [nazwa] [A] [B] [nazwa niepowtarzalna] nazwa 1 - 10 - 100 - nazwa_niepowtarzalna 1 nazwa 2 - 10 - 101 - nazwa_niepowtarzalna 2 nazwa 4 - 12 - 102 - nazwa_niepowtarzalna 3 nazwa 7 - 12 - 103 - nazwa_niepowtarzalna 4 Jak zliczyć wiersze przed ich zgrupowaniem? Ten post edytował wicy 14.11.2009, 13:13:40 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chyba tak bedzie dobrze.
Ten post edytował kefirek 14.11.2009, 13:51:41 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc. Wystarczyło w count dodać distinct - count(distinct a)
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 10:02 |