[ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 01.06.18
Príspevky: 73
Témy: 30 | 30
NapísalOffline : 03.01.2013 14:57 | Navstevnost/pocitanie

Hi, mam mensi problem..potrebujem spravit navstevnost za urcite obdobie do grahu(google linechart), vsetko uz mam skoro vyriesne ale problem chybicka sa vyskytla
v postgre mam tabulku created, ktora oznacuje danu navstevu a je v timestamp-e (21.11.2012 16:04)
prikaz na vytahovnie dat pouzivam tento
Kód:
select to_char(created, 'DD.MM.YYYY')
,count(*)
from epublications_logs
where epublication_id = '10' and created BETWEEN TO_DATE('04.12.2012', 'DD.MM.YYYY')
AND TO_DATE('24.12.2012', 'DD.MM.YYYY')
group
by to_char(created, 'DD.MM.YYYY')
order by to_char;


problem je v tom ze pri vypise je to string a ked mi zobrazuje graf tak to zle zoraduje bere to iba prve cislo tym padom tam mozem mat nieco taketo ze
11.12,12.11,13.4 a podobne, neviem sa z toho vysomarit som zaciatocnik, tak prosim berte nato ohlad


Offline

Skúsený užívateľ
Skúsený užívateľ
Navstevnost/pocitanie

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 03.01.2013 15:06 | Navstevnost/pocitanie

Viem, že teraz mi to nejako nemyslí, ale z akého dôvodu vyťahuješ to_char keď potrebuješ dátum, resp. číslo? Zoradenie podľa stringu dáva iný výsledok ako keď zoraďuješ dátumy, čo je pochopiteľné...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 01.06.18
Príspevky: 73
Témy: 30 | 30
Napísal autor témyOffline : 03.01.2013 15:17 | Navstevnost/pocitanie

No keby to necham tak ako je bez toho to_char, tak mi to proste iba selectne ale ja potrebujem tie co boli v jeden den spocitat aby som mal ze 5.12.2012 768 navstev, a takto za kazdy den ktory tam ma nejaky zaznam

//edit

este ma napadlo ze keby to riesim mimo sqlka, ze si selecnute udaje zase konvertnem na datum pomocou strtotime a date, co myslite o tomto rieseni?


Offline

Čestný člen
Čestný člen
Navstevnost/pocitanie

Registrovaný: 11.08.07
Príspevky: 4062
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 03.01.2013 16:11 | Navstevnost/pocitanie

Mne to pride take fuj : ) da sa to riesit aj tak, ze selectnes dalsi nenaformatovany stlpec a ten potom pri vybere zahodis, no. Tak si vyber.
Kód:
select date_trunc('day', created) x, to_char(date_trunc('day', created), 'DD.MM.YYYY') formatovany_datum, count(*) pocet from epublications_logs group by x order by x;

A zahodit ho mozes bud az pri vybere dat PHPckom (ci co to pouzivas), alebo rovno v SQL pomocou subquery, podla mna by nemal byt problem s niecim ako
Kód:
select formatovany_datum, pocet from (select date_trunc('day', created) x, to_char(date_trunc('day', created), 'DD.MM.YYYY') formatovany_datum, count(*) pocet from epublications_logs group by x) subq order by subq.x;

Btw, este k tomu "order by to_char", ano, mne je jasne, ze sa tak Postgre pri pomenovavani poli chova, ale nikde toto nemas definovane... na Oracli by ti to spadlo. Radsej vzdy pouzi premenovanie, ak pouzivas funkcie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 01.06.18
Príspevky: 73
Témy: 30 | 30
Napísal autor témyOffline : 04.01.2013 8:20 | Navstevnost/pocitanie

este som sa chcel opytat aku tam ma ulohu to x-ko, som začiatočník berte to prosím na ohlad :oops:
Kód:
ERROR:  syntax error at or near "x" at character 35
(0,453 sec)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.07
Prihlásený: 01.06.18
Príspevky: 73
Témy: 30 | 30
Napísal autor témyOffline : 04.01.2013 14:06 | Navstevnost/pocitanie

doriesil som si to takto
Kód:
order by to_date(to_char(created, 'DD.MM.YYYY'), 'DD.MM.YYYY')

viem ze to neni uplne ideal, ale funguje mi to :) dik Ďuri


Offline

Čestný člen
Čestný člen
Navstevnost/pocitanie

Registrovaný: 11.08.07
Príspevky: 4062
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 05.01.2013 10:03 | Navstevnost/pocitanie

No, to ma sluzit na premenovanie... mozes si tam napisat "AS x" miesto "x", ale myslel som, ze AS je nepovinne (v Oracli urcite a Postgre mi to tiez zozralo...).


 [ Príspevkov: 7 ] 


Navstevnost/pocitanie




© 2005 - 2018 PCforum, edited by JanoF