| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 04.03.07 Prihlásený: 17.10.20 Príspevky: 73 Témy: 30 |
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
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
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, ... |
|
Registrovaný: 04.03.07 Prihlásený: 17.10.20 Príspevky: 73 Témy: 30 | Napísal autor témy johny694: 03.01.2013 15:17 | |
|
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?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 03.01.2013 16:11 | |
|
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.
|
|
Registrovaný: 04.03.07 Prihlásený: 17.10.20 Príspevky: 73 Témy: 30 | Napísal autor témy johny694: 04.01.2013 8:20 | |
|
este som sa chcel opytat aku tam ma ulohu to x-ko, som začiatočník berte to prosím na ohlad Kód: ERROR: syntax error at or near "x" at character 35 (0,453 sec)
|
|
Registrovaný: 04.03.07 Prihlásený: 17.10.20 Príspevky: 73 Témy: 30 | Napísal autor témy johny694: 04.01.2013 14:06 | |
|
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
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 05.01.2013 10:03 | |
|
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...).
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|