- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Videón mutatják meg a Nothing tervezői a Phone (4a) külső újdonságait
- MWC 2026: telefonból kivehető akciókamerát hoz az Ulefone RugOne
- Megkaptuk az első hivatalos fotókat a Honor Magic V6-ról
- Tényleg kicsit más lesz a Xiaomi 17 Ultra európai különkiadása
- Videón mutatják meg a Nothing tervezői a Phone (4a) külső újdonságait
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Xiaomi 13 - felnőni nehéz
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor Magic V2 - origami
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S21 FE 5G - utóirat
- Tényleg kicsit más lesz a Xiaomi 17 Ultra európai különkiadása
Új hozzászólás Aktív témák
-
válasz
mr.nagy
#3702
üzenetére
A megoldás.
- ki kell pattintani az adatok egy kulturáltabb formába
- meghatározni, hogy az igény kevesebb vagy több, mint a rendelkezésre álló mennyiség
- amennyiben kevesebb a rendelkezésre álló mennyiség, akkor arányosan mindenki kevesebbet kap (csak egész értéket)
- a maradékokat szétosztjuk úgy, hogy a legkisebb igénytől a legnagyobbig emelkedő sorrendben kapnak kompenzációtNézd el nekem, hogy a kiosztandó mennyiséget ennyi_van néven konstansként tettem bele, de kicsit már késő van

create table NormalTeszt
(
igeny_id integer,
igeny_elem char(3),
mennyiseg integer
);INSERT INTO NormalTeszt
([igeny_id], [igeny_elem], [mennyiseg])
VALUES ('1', 'P01', '3'), ('1', 'P02', '5'), ('1', 'P03', '7'), ('1', 'P04', '6'), ('1', 'P05', '8'), ('1', 'P06', '9'),
('1', 'P07', '4'), ('1', 'P08', '5'), ('1', 'P09', '3'), ('1', 'P10', '4')
;select
igeny_id,
ennyi_van,
igeny,
igeny_elem,
sorszam,
mennyiseg,
case when
ennyi_van - igeny < 0
and ennyi_van - uj_total > 0
and sorszam <= (ennyi_van - uj_total) then uj_mennyiseg + 1
else uj_mennyiseg
end as kiosztott
from (
select
igeny_id,
ennyi_van,
igeny,
igeny_elem,
mennyiseg,
sorszam,
case when ennyi_van / igeny < 1
then cast(mennyiseg * (ennyi_van / igeny ) as integer)
else mennyiseg end as uj_mennyiseg,
sum(case when ennyi_van / igeny < 1
then cast(mennyiseg * (ennyi_van / igeny ) as integer)
else mennyiseg end)
over(partition by igeny_id) as uj_total
from (
SELECT
t.igeny_id,
cast(40 as decimal (5,2)) as ennyi_van,
t.igeny_elem,
t.mennyiseg,
row_number() over(partition by t.igeny_id order by mennyiseg asc) as sorszam,
cast(sum(t.mennyiseg) over(partition by t.igeny_id) as decimal(5,2)) as igeny
FROM NormalTeszt as t) as t1
) t2
order by sorszam
Új hozzászólás Aktív témák
- Videón mutatják meg a Nothing tervezői a Phone (4a) külső újdonságait
- Tőzsde és gazdaság
- Path of Exile (ARPG)
- Épített vízhűtés (nem kompakt) topic
- Kormányok / autós szimulátorok topikja
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Székesfehérvár és környéke adok-veszek-beszélgetek
- ASUS routerek
- Witcher topik
- Formula-1
- További aktív témák...
- HP EliteBook 845 G8 14" Ryzen 5 pro 5650U, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- HP EliteBook 845 G7 14" Ryzen 5 pro 4650U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- HP ProBook 445 G10 14" Ryzen 5 7530U, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- HP ProBook 445 G9 14" Ryzen 3 5425U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Godox X3N kioldó (NIKON)
- Dell XPS 13 9300 i7-1065G7 8GB 512GB FHD+ 500nit! 1 év garancia
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
- Xiaomi 11 Lite / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Fekete Titán - 1 év GARANCIÁVAL - Kártyafüggetlen, 100% Aksi
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 8GB I 192GB SSD I 14" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


