[ DraganK @ 03.05.2003. 21:40 ] @
Imam tabelu sa 100.000 slogova. Kolone: K1 autonumber (int) PK, K2 char (200), K3 char (10), K4 char (10). U tabeli ima dosta duplikata po K2 koloni. Pitanje:

Kako da izvučem kao neku rang listu najviše ponavljanih redova po koloni K2. Nešto kao group by ali želim da dobijem otprilike ovakav rezultat:

BrojPonavljanja K2
--------------------------------
82 stavka1
56 stavka2
39 stavka3
...
...
...
--------------------------------


Baza je MSSqlServer ili Access...
[ -zombie- @ 03.05.2003. 21:49 ] @
pa upravo tako, preko GROUP BY komande..

Code:
SELECT count(k2) as br_ponavljanja, k2 FROM tabela GROUP BY k2


e sad, pretpostavljam da tebi treba i sortiranje od najvećeg broja ponavljanja prema najmanjem. pa, ima ORDER BY, ali nisam siguran da li bi radila sa agregated kolonom (count()). pogledaj dokumentaciju za GROUP BY i ORDER BY, pošto se te stvari razlikuju od sistema do sistema..

(btw, ako ne radi direktno tu sortiranje, onda možeš rezultat ovog upita da prebaciš u privremenu tabelu, pa da sortiraš, ili već kako...)
[ DraganK @ 04.05.2003. 02:22 ] @
ma da, creirao sam privremenu tabelu pa tu order by, ne može u istom upitu.
Hvala ti...
[ dotnet @ 04.05.2003. 05:36 ] @
Pozdrav

Ne treba ti privremena tabela, samo na ovaj upit dodaj ORDER BY:

Code:
SELECT count(k2) as br_ponavljanja, k2 FROM tabela GROUP BY k2 ORDER BY count(k2) DESC
[ DraganK @ 04.05.2003. 12:41 ] @
Jao jeste, posipam se pepelom...