Ahoj, mám tabulku szasoby, která obsahuje pro různý "cmat" několik záznamů s cenou skladu a potřeboval bych z této tabulky vybrat 5 nejnovějších řádků (datum_pos_prijmu), vypočítat průměr, průměr bez max min(v případě, že bude počet řádků > 3) sloučený pro jednotlivé cmat záznamy.
select cmat, avg(sklad_cenamj) as prumer,
iif(count(*)>=3,(sum(sklad_cenamj)-max(sklad_cenamj)-min(sklad_cenamj))/(count(*)-2),avg(sklad_cenamj)) as prumerBezMM, max(datum_pos_prijmu)
from (select c.cmat, c.sklad_cenamj,c.datum_pos_prijmu from szasoby c order by datum_pos_prijmu desc) d group by cmat
Tento příkaz funguje, ale pokud má nějaký cmat např 8 řádků, vypočítá to ze všech řádků. Jakákoliv snaha o top 5 nebo něco podobného vyhodí jen 5 jednotlivých součtů cmat.
Pro mě to má smysl jen v rovině sql příkazu, přes proceduru by to šlo, ale pro mě nepoužitelné.
Díky za pomoc