sqlite lekérdezés

Üdv!
Most nagyon aktuális...

Van egy sqlite - 2019 óta napi rendszerességű adatokkal - gázfogyasztás adatbázisom.
Szeretnék egy/két lekérdezést csinálni, hogy mennyi volt az adott havi (mind...) fogyasztás. Ill. évenkénti is.
Jól olvastam, hogy a GROUP BY-ban nincs havi?
Hogy tudom megcsinálni?
Pl. egy adott évre próbáltam:
select sum(mero),datum from gaz where datum>'2021-12-31' and datum<'2023-01-01'
ráadásul az értékek abszulút (óra mutatott) értékek...

Köszönöm,
Roland

Hozzászólások

Szerkesztve: 2022. 08. 05., p – 10:59

Nem értek az sqllitehoz , de más sql alatt magát a dátumot formáznám. (nem tudom, hogy műköik-e, de  a lényeg remélem átmegy)

SELECT YEAR(datum) as ev, MONTH(datum) as honap, SUM(mero) as meru_sum WHERE ev = '2021'  GROUP BY honap

Ehhez kéne látni a táblákat, hogy milyen oszlopok, adatok, típus, formázás vannak benne. Innen messziről, kristálygömb nélkül nehéz gondolatot olvasni.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Ezt azért konkrétan kéne látni, dátumnál, amit betettél, arról lehet sejteni, hogy YYYY-MM-DD formában van, bár még ott sem világos, hogy karakterláncként van rögzítve, vagy tényleges dátumként.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Szerkesztve: 2022. 08. 05., p – 20:04

Ha a mero oszlopban az óra által mutatott növekvő értékek vannak, akkor így:

select strftime('%Y-%m', x.datum) honap
      ,sum(x.diff) fogyas
  from (select datum
              ,mero
              ,mero - lag(mero, 1, 0) over(order by datum) diff
          from gaz) x
 group by strftime('%Y-%m', x.datum)
 order by honap;
Szerkesztve: 2022. 08. 05., p – 21:18

(Félig off: Ha csak egyszer kellene megcsinálnom, de legalább sürgősen és nem menne reflexből a lekérdezés, akkor kidumpolnám csv-be, majd azt beolvasnám excelben/lo-ban és abban csinálnám a többit.)

A kürtőskalács egy nagy lyuk, tésztával faszán körbetekerve.

Lehet így is, de ez a fajta megfutamodás sose jó, így nem fejlődik semmit az ember, és állandóan egész életében exceles gányolásra lesz szorulva. Olyan indokkal, hogy mindig egyszer kell. Az SQL(ite) megoldásoknak pont az a lényege, hogy platformfüggetlen, meg sztenderd SQL, ez egy olyan tudás, hogy egyszer megszerzed, sok másik helyen is lehet hasznosítani. Nem időpocsékolás ilyennel bíbelődni. Mondom ezt úgy, hogy az SQL nekem sem erősségem, nem a szívem csücske, de az Excelnél mindenképp hasznosabb.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)