Ü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
- 494 megtekintés
Hozzászólások
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
- A hozzászóláshoz be kell jelentkezni
https://www.w3resource.com/sqlite/sqlite-strftime.php
Azaz
SELECT SUM(mero), strftime('%Y%m', datum) AS honap GROUP BY strftime('%Y%m', datum) ORDER BY 2 DESC
- A hozzászóláshoz be kell jelentkezni
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.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Nem egy bonyolult tábla. 1 oszlop dátum, második a gázóra leolv. értéke (real). Semmi egyéb.
- A hozzászóláshoz be kell jelentkezni
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.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
YYYY-MM-DD tényleges dátum
- A hozzászóláshoz be kell jelentkezni
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;
- A hozzászóláshoz be kell jelentkezni
:( error-ra panaszkodik: [10:57:25] Error while executing SQL query on database 'mero': near "(": syntax error
nem találom...
- A hozzászóláshoz be kell jelentkezni
(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.
- A hozzászóláshoz be kell jelentkezni
Ez lett.
Köszönöm.
- A hozzászóláshoz be kell jelentkezni
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.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Beg to differ, egyszerű ember q mindennapi eletében 100x előrébb lesz excel tudással szerintem.
- A hozzászóláshoz be kell jelentkezni
igaz.
a rezsivált. miatt voltunk kíváncsiak. Emiatt nem akartam beleásni az SQL-be...
- A hozzászóláshoz be kell jelentkezni
de az Excelnél mindenképp hasznosabb
"A fúró hasznosabb, mint a kalapács."
Egy adatbáziskezelő és egy modellező/vizualizációs eszköz között milyen módszertannal lehet megtalálni az objektíven hasznosabbat? :)
- A hozzászóláshoz be kell jelentkezni