» »

SQL poizvedba

SQL poizvedba

icurk ::

Zdravo,

rabil bi manjšo pomoč pri sql stavku, ki mi je danes že vzel res (pre)veliko časa.
Torej želja je, da za vsakega "uporabnika" (recimo marko), preštejem koliko unikatnik stolpcev col2 ima. Probal sem že vse živo, ampak mi nikakor ne uspe priti do rešitve.

frudi ::

Z vgnezdenim stavkom, recimo nekaj takega (na pamet spisano, lahko je kak kiks v kodi):
select name, count(*) from (select name, col2 from tabela group by name, col2) as x group by name;
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

Zgodovina sprememb…

  • spremenilo: frudi ()

icurk ::

a si mogoče mislu
1
select name, count(*) from (select name, col2 from tabela group by col2) as x group by name;


ker mi nekak ne pride prav.

Vglavnem zanima me, kako bi lahko poiskal vse zapise, kjer sta po dva stolpca skupaj unikatna.
Torej v zgornjem primeru bi iskal vse zapise kjer je name + col2 unique.

Zgodovina sprememb…

  • spremenil: icurk ()

frudi ::

V mojem primeru notranji stavek najde unikatne zapise name + col2, zunanji pa potem za vsak name prešteje število vrstic. Razen če sem kaj kiksnil pri sintaksi ali narobe razumel kaj rabiš, bi moralo vrniti točno to kar želiš :S

p.s. v notranjem stavku mora biti group by na name in col2, tako dobiš unikatne kombinacije teh dveh stolpcev. Če daš group by samo za col2, ni niti sintaktično pravilno, ker morajo vsi stolpci v selectu biti ali v group by ali pa v agregatni funkciji (sum, count, avg, ipd.)
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

icurk ::

amm...

Zgodovina sprememb…

  • spremenil: icurk ()

DarkSensei ::

Če prav razumem kaj hočeš:
SELECT name, COUNT(DISTINCT col2) FROM tabela GROUP BY name;

icurk ::

ja točno to js rabim... nevem kako se tega nisem spomnil :) hvala
drugače pa mislim da je tudi tisto prej pravilmo. Drugače mam zelo veliko bazo, pa še par pogojov in joinanih tabel, tako da je blo kar težko preverit če dela tako kot mora... ampak mislim da mi bo zdej ratalo.

hvala :)

frudi ::

Ja, tole je enostavneje in enako pravilno :)
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Učenje programiranja PHP

Oddelek: Programiranje
91474 (1015) Spura
»

SQL vprasanje (strani: 1 2 )

Oddelek: Programiranje
688333 (5012) BivšiUser2
»

MySQL group by

Oddelek: Programiranje
51003 (831) vorantz
»

[SQL] - združitev glede na iste vrednosti

Oddelek: Programiranje
131385 (1027) tx-z
»

SQL poizvedba z DISTINCT

Oddelek: Programiranje
191901 (1742) zdravc

Več podobnih tem