Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno SQL

Dobrý den. Chci se zeptat zda nějak lze pomocí SQL dotazu dostat z jednoho sloupce databáze hodnoty pouze rozdílných hodnot. Příklad: ve sloupci mám hodnoty 1,1,1,3,5,1,1 a do recordsetu se mi načtou pouze hodnoty 1,3,5. Ta opakující se čísla tam nebudou.

Předmět Autor Datum
SELECT sloupec, COUNT(*) FROM tabulka HAVING COUNT(*) = 1; edit: doufám, že si to pamatuju dobře. ;…
touchwood 15.05.2008 21:24
touchwood
pripadne select pole from tabulka group by pole
wam_Spider007 15.05.2008 21:32
wam_Spider007
Děkuji. Vyřešeno.
PavelP 15.05.2008 21:35
PavelP
Ještě mám jeden (asi stupidní:-[) dotaz. Dá se nějak jednoduše zjistit počet záznamů v recordsetu? N…
PavelP 15.05.2008 22:05
PavelP
viz COUNT - dáš select na libovolnou položku a spočítáš jí count: SELECT COUNT(*) FROM tabulka
touchwood 16.05.2008 07:08
touchwood
Pokud by ale chtěl počet groupovaných záznamů dle předchozích popisů, tenhle count to neřeší, mělo b… poslední
mrazek 16.05.2008 23:46
mrazek
SELECT sloupec, COUNT(*) FROM tabulka HAVING COUNT(*) = 1;

edit: doufám, že si to pamatuju dobře. ;-)

edit2: OMG, tohle je triviální, myslel jsem moc složitě (resp. myslel jsem, že máš o dost složitější problém) :-D. Tohle řeší DISTINCT. Výše uvedené by ti vypsalo jen 3,5. Tedy správně je:

SELECT DISTINCT sloupec FROM tabulka; 

Pokud by ale chtěl počet groupovaných záznamů dle předchozích popisů, tenhle count to neřeší,
mělo by to pak vypadat třeba takhle: SELECT COUNT(DISTINCT sloupec) FROM tabulka; (na MSSQL to jede zaručeně)

A nebo pak v aplikaci na daném datasetu resp. recordsetu je vlastnost RecordCount (na různých vývojových prostředích se bude jmenovat trochu jinak...).

Zpět do poradny Odpovědět na původní otázku Nahoru