Hirdetés
- iPhone topik
- Milyen okostelefont vegyek?
- Külföldi prepaid SIM-ek itthon
- Xiaomi 15T Pro - a téma nincs lezárva
- Nintendo DS-sel pózol egy OnePlus
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Idő előtt felbukkant a Galaxy A57 egy európai webshopban
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Redmi Watch 5 - formás, de egyszerű
- Xiaomi 15T - reakció nélkül nincs egyensúly
Ú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
- Kínai és egyéb olcsó órák topikja
- iPhone topik
- Milyen okostelefont vegyek?
- Anglia - élmények, tapasztalatok
- Apple MacBook
- A fociról könnyedén, egy baráti társaságban
- Milyen billentyűzetet vegyek?
- Samsung Galaxy Felhasználók OFF topicja
- Luck Dragon: Asszociációs játék. :)
- Külföldi prepaid SIM-ek itthon
- További aktív témák...
- Eladó Apple iPhone 11 128GB piros (PRODUCT RED) színben
- Samsung Galaxy S25 512GB HIBÁTLAN!ÚJSZERŰ!Kártyafüggetlen
- Iphone 13 White 128Gb újszerű állapot, független
- Apple MacBook Air 2025 13.6" M4 10C/8C - 256 SSD - 16GB RAM - 3 ÉV GARANCIA
- ZOTAC GTX 670 AMP! Edition 2 GB GDDR5 256 bit PCI-E Videokártya
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3293
- HIBÁTLAN iPhone 11 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS4258
- Újra raktáron! MacBook Pro 14" M1 32GB RAM 27%-os áfás számla
- magyar billentyűzet - 151 - Lenovo LOQ (15IAX9) - Intel Core i5-12450HX, RTX 4060 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

