Diskuze: Výběr top 5 max hodnot pro každý z prvků

Ostatní jazyky SQL SQL a databáze Výběr top 5 max hodnot pro každý z prvků

Avatar
barcalangrova:

Dobrý den,

potřebovala bych poradit se strukturou SQL dotazu pro výběr prvních pěti nejvyšších hodnot pro každý z prvků. Mám databáze, ve kterých je několik stovek prvků a pro každý prvek několik desítek hodnot. Pro každý z těchto prvků potřebuji vybrat jeho maximální hodnoty, následně jeho druhé maximální hodnoty, atd. až do 5 maximální hodnoty. Vím, jsou to asi jednoduchý dotaz, ovšem nejsem v SQL zrovna nejzdatnější a celkem mě tlačí čas. Pracuji ve spatialitu, ovšem nebráním se ani jiným případným variantám.

Díky za každou radu

 
Odpovědět 2.4.2015 9:27
Avatar
Odpovídá na barcalangrova
Michal Šmahel (ceskyDJ):

Co ty prvky obsahují a jak fungují?? Takhle jsem to moc nepochopil.

Nahoru Odpovědět 2.4.2015 10:38
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na barcalangrova
Michal Štěpánek:

Trošku to rozveď, jaká je struktura té tabulky, nebo je těch tabulek víc?

Nahoru Odpovědět 2.4.2015 10:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Tomáš123
Člen
Avatar
Odpovídá na barcalangrova
Tomáš123:

Použi LIMIT=5 na konci SQL dotazu.

Nahoru Odpovědět 2.4.2015 10:47
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Odpovídá na Tomáš123
Michal Štěpánek:

Takhle to ale vybere jen 5 záznamů celkem, ale je potřeba vybrat 5 záznamů pro každý prvek...

Nahoru Odpovědět  +1 2.4.2015 10:54
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Tomáš123
Člen
Avatar
Odpovídá na Michal Štěpánek
Tomáš123:

To by šlo vyriešiť cyklom, ale nevidíme barcalangrovavov kód...

Nahoru Odpovědět 2.4.2015 11:14
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Odpovídá na Tomáš123
Michal Štěpánek:

Právě proto jsem psal, aby to trošku rozvedla...

Nahoru Odpovědět 2.4.2015 11:40
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
barcalangrova:

jedna se o jednu tabulku, obsahujici dva ciselne kody (KOD_A,KOD_B) ve vztahu 1:N s faktem, ze je kodu_A je prirazen vzdy jiny pocet kodu_B. K jednotlivym kombinacim kodu, pak nalezi hodnoty CELKEM, POCET_A a POCET_B. Pro ukazku jsem vlozila mensi vyber.
Ja potrebuju pro kazdy KOD_A zjistit maximalni hodnotu CELKEM a priradit k ni KOD_B, POCET_A a POCET_B, nasledne nalezt 2. maxilmani hodnotu a priradit k ni tytez informace až do 5. maximalni hodnoty. Nebo pripadne vypsat rovnou 5 maximalnich hodnot CELKEM pro KOD_A i se vsemi ostatnimi hodnotami a pripadne i poradim dane maximalni hodnoty.

 
Nahoru Odpovědět 2.4.2015 12:41
Avatar
Odpovídá na barcalangrova
Michal Štěpánek:

Nevím v čem to děláš, ale asi bych procházel cyklem tabulku s kodem_A a při každém průchodu cyklem udělal select na kod_B seřadit podle max. hodnot od nejvyšší s tím, co psal Tomáš123 LIMIT=5

Nahoru Odpovědět 2.4.2015 14:21
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.