Sziasztok azzal a problémával találtam szembe magam , hogy egy postgres adatbázisból kell kinyernem adatokat. Konkrétan azt hogy egy program mikor és melyik gépen futott.
Igazából ez sikerült is egy szép kis lekérdezésnek hála, terveimben az szerepelt hogy úgy csinálok grafikont hogy exportálom excelbe és majd ott könnyedén varázsolok belőle :)))
ez a terv kútba esett mikor 212280 db sort kaptam válaszként.
Azt szeretném megoldani hogy kb percenként van a jel ami a futást jelzi valahogy a lekérdezés végére berakni egy kis összegzést.
hogy mondjuk óránként hány jel volt.
már sokat dobna a dolgon ha meg tudnám csionálni azt, hogy
9:08
9:09
9:10
helyett óra|darab
9 3
felosztásom lenne
csak foggalmam sincs hogy
üdv
- 1504 megtekintés
Hozzászólások
date_trunc függvénnyel tudod kerekíteni az időt, avg-vel átlagot számoltatni, sum-mal összeget és a group by klauzával csoportba rendezni.
- A hozzászóláshoz be kell jelentkezni
az a szitu hogy eg yilyen sorral konvertálom már át a timestampot
to_char(Select timestamp 'epoch'+history_uint.clock*interval '1 second'),'YYYY-MM-DD HH:MI') AS idopont,
és ha minutest akarok akkor null a visszatérő érték.
Ezt be tudom vhogy ágyazni a truncba?
vagy valamikor később ráengedni??
- A hozzászóláshoz be kell jelentkezni
ehhez már látni kellene a táblaszerkezetet is...
- A hozzászóláshoz be kell jelentkezni
Miért nem
SELECT to_char( ((timestamp 'epoch') + history_uint.clock*interval '1 second'), 'YYYY-MM-DD' ) AS idopont
?
- A hozzászóláshoz be kell jelentkezni
All right
lefut a date_trunc-kal
"to_char( date_trunc('hour',((timestamp 'epoch')+history_uint.clock*interval '1 second')),'YYYY-MM-DD HH:MI')"
csak az a baj hogy igy minden orahoz csak egy sor tartozik, es sajnos nem tudom hogy egy oraban hany jel volt.
Kiderült a turpiszság, sajnos ezt a kerekítést nem az elejébe kellett volna tenni a lekérdezésnek hanem a végére hogy az eredményt kerekítsem.
Akkor most ezt beleágyazzam egy táblába és arra kívülről engedjem rá a kerekítést? Lehet ilyet?
(lekérdezem kerekítve(megcsinálom az új táblát (adatlekérdezésami készvan most)))
- A hozzászóláshoz be kell jelentkezni
A
GROUP BY
-ot ismerd meg!
A group by-t kellene a megadott (pl. óránkénti) kerekítésre venni, a mezők közé pedig felvenni egy COUNT(0)-t az (óránkénti) darabszámhoz:
- A hozzászóláshoz be kell jelentkezni
GROUP BY óránkénti kerekítése.
Na ezaz amit sehogy sem tudok megoldani :(((
hülye vagyok...:(
- A hozzászóláshoz be kell jelentkezni
select date_trunc('hour',date) as datum,sum(tickmezo) as futas from table group by 1 order by 1;
nem a groupby-t kell óránkéntire kerekíteni, hanem magát a dátumot, időbélyeget, majd a groupby-nak meg kell adni, hogy az alapján csoportosítson.
- A hozzászóláshoz be kell jelentkezni
Nah, minden szuper!
sikerült a query-ket elkészíteni.
Az a legszebb az egészben hogy az új adatbázis már MySQL alapokon lesz.
Hogyan tudnám átkonvertálni a query-met PostgreQSL-ből MySQL-re :)))))))))))))))))
- A hozzászóláshoz be kell jelentkezni
Cipőt a cipőboltból és grafikont grafikonkészítővel.
Exportáld a sorokat egyszerű szöveges fájlba, és gnuplottal (vagy hasonló grafikonkészítővel) csinálj belőle grafikont. Sem az idő-formátumú adatok, sem a 212280 sor nem okozna neki gondot, és igazából előfeldolgozni sem kellene.
- A hozzászóláshoz be kell jelentkezni
gyorsabb lenne írni egy munin plugint és a grafikát ráhagyni a muninra...
- A hozzászóláshoz be kell jelentkezni
ja, gnuplot jó ötlet
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
hogyan lehet dátum szerint countolni:
megvan a date: yyyy-mm-dd hh:mi
ebből szeretném órára kerekitve a countok számát összegezni.
- A hozzászóláshoz be kell jelentkezni
beiratkozol egy alapfoku sql tanfolyamra?
- A hozzászóláshoz be kell jelentkezni
SELECT Year(date) AS ev, Month(date) AS honap, Day(date) AS nap, Hour(date) AS ora, Count(id) AS CountOfid FROM valami GROUP BY ev, honap, nap, ora;
ha a "valami" nevű tábla hasonló:
id | date
1 | 2010.01.01 12:01:00
2 | 2010.01.01 12:02:00
3 | 2010.01.01 13:01:00
4 | 2010.02.01 12:01:00
5 | 2010.03.01 12:02:00
6 | 2011.01.01 13:01:00
akkor
ev | honap | nap | ora | CountOfid
2010 1 1 12 2
2010 1 1 13 1
2010 2 1 12 1
2010 3 1 12 1
2011 1 1 13 1
Nem annyira ördöngős...
- A hozzászóláshoz be kell jelentkezni