Výběr top 5 max hodnot pro každý z prvků – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Výběr top 5 max hodnot pro každý z prvků – MS SQL – Fórum – Programujte.comVýběr top 5 max hodnot pro každý z prvků – MS SQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Bára
~ Anonymní uživatel
20 příspěvků
2. 4. 2015   #1
-
0
-

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 pro 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 v prostředí spatiallite, ovšem nebráním se ani jiným případným variantám.  

Díky za každou radu

Nahlásit jako SPAM
IP: 94.74.219.–
Reklama
Reklama
P
~ Anonymní uživatel
193 příspěvků
2. 4. 2015   #2
-
0
-

Na to je funkce ROW_NUMBER()

https://msdn.microsoft.com/en-us/library/ms186734.aspx

Partition bude podle prvku a order podle hodnoty sestupne.

Neco jako 

SELECT Prvek, Hodnota
FROM (
	SELECT Prvek, Hodnota, RN = ROW_NUMBER() OVER (PARTITION BY Prvek ORDER BY Hodnota DESC)
	FROM Tabulka
) q
WHERE RN <= 5
Nahlásit jako SPAM
IP: 85.93.116.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý