[megoldva] Subselect as a condition

Lehet valami effélét használni sqlite-ban?

select a, avg(b) from t1 where dat<(select dat from t1) group by 1;

(Ezt konkrétan nem lehet, de valahogy szeretnék egy intervallumot bejárni a feltétellel.)

Szerk: ez lett a helyes út:

SELECT a, (SELECT AVG(b) FROM t1 AS subt1 WHERE subt1.dat < mastert1.dat) FROM t1 AS mastert1

Hozzászólások

Mi a hibauzenet?

Mit akarsz logikailag, mert mem vilagos...

SQLite-ban nem tudom műxik-e:


select d.dat,avg(t1.dat)
from (select distinct dat from t1) d
join t1
on t1.dat < d.dat

Ez a tábla méretétől függően eléggé meg tudja fektetni a rendszert. :)
Egyébként mi a cél? Miért kell így átlagoli? :)

Ha nagyon akarok, akkor ki tudok találni egy feladatot, aminek ez a megoldása, de az elmúlt 15 évben nem találkoztam ilyennel...

Például: "Mutasd ki, hogy a CPU használat az idők kezdete óta hogyan simul ki!". Mivel mindenképp kisimul, amikor az AVG már 1000 sort átlagol, akkor egy nagy kiugrás sem mozdítja meg nagyon. Matematikailag ha egyenletes az előszlása a b mezőnek (0..100), akkor a SELECT 50-et fog mutatni és kisimul :)

Annyira felcsigáztál, hogy mondd már el, mi van a B mezőben? Árfolyam? CPU? HDD free? Óvodacsoport létszáma? Please!! :)

Sportfogadási pénzmozgás adott bajnokságtípusra és stratégiára. :-) Így anélkül lehet tesztelni különféle stratégiákat, hogy rámenne a pénzem a sikertelen esetekre. Az látszik, hogy egyik bajnokság így, a másik úgy viselkedik. Talán a bunda miatt? Nem tudom. Akit érdekel, át tudom küldeni az adatokat.