Hirdetés
- mefistofeles: Az elhízás nem akaratgyengeség!
- MasterDeeJay: Mi ez a pici videókártya? AMD E9173 teszt
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Brogyi: CTEK akkumulátor töltő és másolatai
- MasterDeeJay: Comet lake (10gen) és DDR3 - mert ilyet is lehet!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
Szancsó
#4646
üzenetére
Én kiemelném egy CTEbe az A, B összege oszlopokat, és kapna egy sorszámot összeg szerint csökkenő sorrendben, majd következő lépésben ebből válogatnám le a sorszám<=5-öt ("top 5"), és hozzáunióznám a szumma(B összeg)-et, ahol sorszám>5.
Így az eredeti táblát csak egyszer kell végigolvasni, második lépésben uniót képző 2 select már a memóriában lévő párszáz-ezer soros aggregátumból dolgozik, minimális többletköltséggel.
Valahogy így:
with summa as (
select a,
sum(b) sum_b,
row_number() over (partition by a order by sum(b) desc) rn
from tabla5
group by a),
top5_summa as (
select a,
sum_b,
rn
from summa
where rn<=5
union
select 'Többi' as a,
sum(sum_b) as sum_b,
6 as rn
from summa
where rn>5)
select a,
sum_b
from top5_summa
order by rn;Nem tudom, Firebird ismeri-e ezt a szintaxist, SQL Server kb. 2005 óta igen, meg az Oracle 11 alatt is működik.
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Azonnali alaplapos kérdések órája
- GL.iNet OFF topik
- Nyaralás topik
- 100 TB-os HDD-k felé vezető alapot prezentált a Seagate
- Okos Otthon / Smart Home
- mefistofeles: Az elhízás nem akaratgyengeség!
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Android alkalmazások - szoftver kibeszélő topik
- Méretét meghazudtolóan hatékony Akasa léghűtő jön inteles vasakhoz
- További aktív témák...
- Intel I7-7700 / Beszámítás OK!
- Újszerű Acer Nitro 5 - 17.3" QHD 165Hz - i9-12900H - 32GB - 1TB - RTX 4060 - Win11
- Újszerű HP EliteBook 640 G11 2028.12.Hó-ig Garis Ultra 5 135U 16GB DDR5 512GB SSD 9nap üzemidővel!
- ASUS Zenbook Flip UX360CA
- !AKCIÓ+GARI! GAMER PC Intel Core i5-14400F/ASUS TUF Gaming B760M/RTX 4070 12GB/32 GB DDR5 5200 MHz
- 231 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- iPhone 14 Pro 128GB 100% (1év Garancia)
- Dell Latitude 5430 14" Touchscreen i5-1235U 16GB 512GB 1 év garancia
- ÚJ 20 méteres LED szalag adapterrel és távirányítóval eladó
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
