Monika O.

Monika O. Specjalista wsparcia
IT

Temat: zliczanie wartości z 3 kolumn

cześć
mam kłopot ze stworzeniem zapytania coś w rodzaju statystyki. Tabela zawiera adresy, czyli mam ulicę, numer ulicy, kod pocztowy, miasto.
Chciałabym żeby grupowanie było po tych wszystkich wartościach i dodatkowo zliczało mi liczbę wystąpień danego adresu. Jeżeli zrobię tak jak poniżej daje mi zafałszowane dane zliczane tylko po ulicy

select ulica , count(*) as liczba
from tabela1 , tabela2

where 1.id_no=2.id
group by ulica having count(*) between 3 and 10

dzięki za podowiedzi

konto usunięte

Temat: zliczanie wartości z 3 kolumn

a takie coś?



select ulica, numer_ulicy, kod, miasto count(*) as liczba
from tabela1 , tabela2

where 1.id_no=2.id
group by ulica, numer_ulicy, kod, miasto
having count(*) between 3 and 10

Monika O.

Monika O. Specjalista wsparcia
IT

Temat: zliczanie wartości z 3 kolumn

dzięki, właśnie też do tego doszłam :-)
a gdybym chciała zobaczyć jaka jest największa koncentracja przy danym adresie?
coś w rodzaju listy 10 najczęściej podawanych adresów?Ten post został edytowany przez Autora dnia 19.05.14 o godzinie 08:55
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: zliczanie wartości z 3 kolumn

Bez jaj... Tabela o nazwie lub aliasie "1" lub "2" ?? :)
Do łączenia tabel służy JOIN, nie WHERE.
Szymon zapomniał przecinka po 'miasto'
No i ten HAVING jest chyba zbędny.

pozdrawiaMM
Monika O.

Monika O. Specjalista wsparcia
IT

Temat: zliczanie wartości z 3 kolumn

wiem że można join ale jakoś wrzuciłam have
a nazwy tabeli to tylko przykłady;-)

czemu having jest zły? jak ograniczyć ilość danych jeżeli tabela ma np. kilka milionów rekordów (oczywiście powtarzających się)Ten post został edytowany przez Autora dnia 19.05.14 o godzinie 08:58

konto usunięte

Temat: zliczanie wartości z 3 kolumn

Do łączenia tabel służy JOIN, nie WHERE.

Prosił bym o jakieś rozwiniecie tego stwierdzenia. Gdzie tu widzisz problem?
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: zliczanie wartości z 3 kolumn

Monika:
Having nie ogranicza ci ilości danych analizowanych. Zapytanie będzie trwało dokładnie tyle samo. Przefiltruje tylko wyniki.
Tomek:
Problemu nie widzę, ale w bodajże ANSI SQL 92 wprowadzono łączenie JOINami jako standard. I to jest logiczne. Do łączenia JOIN, do filtrowania WHERE. Od razu widać co do czego służy. Nie mówiąc już o LEFT, RIGHT JOIN
Robert Chmielewski

Robert Chmielewski Senior SQL
Developer, Sagra
Technology sp. z
o.o.

Temat: zliczanie wartości z 3 kolumn

Monika O.:
dzięki, właśnie też do tego doszłam :-)
a gdybym chciała zobaczyć jaka jest największa koncentracja przy danym adresie?
coś w rodzaju listy 10 najczęściej podawanych adresów?

Może takie coś?

select ulica, numer_ulicy, kod, miasto count(*) as liczba
from tabela1 , tabela2
where 1.id_no=2.id
group by ulica, numer_ulicy, kod, miasto
having count(*) between 3 and 10
ORDER BY liczba DESC
LIMIT 10
Monika O.

Monika O. Specjalista wsparcia
IT

Temat: zliczanie wartości z 3 kolumn

dzięki:-) jutro sprawdzę
problem polega na tym też jak z dużej ilości danych wyciągnąć coś sensownego

Następna dyskusja:

[PostgreSQL] zliczanie wyst...




Wyślij zaproszenie do