Ciekawe! Jak wyciągnąć TYLKO PIERWSZY REKORD w danej grupie
rekordów, ale nie ograniczając widoku do tej grupy, tylko po
wszystkich grupach z tabeli.
Kluczem jest relacja tabeli z SELECTem zagnieżdżonym, tworzącym
pole tej tabeli (RowNum)
Warto się uczyć SQLka, chłopaki i dziewczyny.
************
SELECT t1.miasto, t1.nazwa,
(SELECT COUNT(*) FROM [odbiorca$] AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) AS RowNum
FROM [odbiorca$] t1
WHERE (SELECT COUNT(*) FROM odbiorca AS t2 WHERE t2.nazwa <=
t1.nazwa AND t1.miasto = t2.miasto) =1
ORDER BY t1.miasto, t1.nazwa
tu tabelka:
http://afin.net/samples/Data/ODBC/SalesInHTML/Odbiorca.htm
A tu wynik:
miasto nazwa RowNum
BIALYSTOK NOWAK 1
CIECHANOW ANEX 1
GDANSK GRZESIEX 1
LEGNICA EDEX 1
OPOLE BRONEX 1
SZCZECIN CELIMP 1
WARSZAWA IMPEX 1
WROCLAW AREX 1
Tylko pierwsze numerki. Bez OVER PARTITION BY.
Zrobiłem na podstawie
http://www.experts-exchange.com/Database/MS_Access/Q_24583991.html
z PLIKU EXCELA na STEROWNIKU EXCELOWYM.
środa, 7 stycznia 2015
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz