Hirdetés
- Intel Core i7-5xxx "Haswell-E/EP" és i7-6xxx "Broadwell-E/EP" (LGA2011-v3)
- Vezetékes FEJhallgatók
- Milyen egeret válasszak?
- Már javában teszteli a HAMR implementációját a Western Digital
- Amazon Fire TV stick/box
- E-book olvasók
- Amlogic S905, S912 processzoros készülékek
- Kormányok / autós szimulátorok topikja
- Milyen billentyűzetet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
Ú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
- BestBuy topik
- Intel Core i7-5xxx "Haswell-E/EP" és i7-6xxx "Broadwell-E/EP" (LGA2011-v3)
- Genshin Impact (PC, PS4, Android, iOS)
- exHWSW - Értünk mindenhez IS
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vezetékes FEJhallgatók
- iPhone topik
- Milyen egeret válasszak?
- aquark: RETRO: Idén lesz 30 éves az első full 3D-s játék!
- Telekom mobilszolgáltatások
- További aktív témák...
- Új FULL HD webkamera + Számla
- Bomba áron eladó Asus Vivobook S433EA /i7-1165G7/16GB/512 GB SSD/FDHD/IPS
- Asus 15 TUF Gamer FHD IPS 144Hz G-Sync Ryzen7 7735HS 16GB 1TB SSD Nvidia RTX4060 140W Win11 Garancia
- Amazon Kindle 10th Generation ébresztős tok
- HIBÁTLAN iPhone 12 64GB White-1 ÉV GARANCIA - Kártyafüggetlen, MS4487
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


