konto usunięte

Temat: jak zrobić group by added::date

Witam.

Mam kod który zlicza kilometry i chciałbym by zapytanie zliczyło km z danego dnia i posortowało je dniami.
Potrzebuje zrobić taki kod:

$select = $this->objDB->select()
->from(array('dph' => 'table1'), array(
'added::date',
'distance' => new Zend_Db_Expr('SUM(dph.distance)')
))
->join(array('devo' => 'do'), 'devo.id_d = dph.id_d', array())
->group(array('dph.added::date'))
->order(array('dph.added::date DESC'));

Ale jak wyrzucam na ekran wpis to mam na konu
ORDER BY "dph"."added::date"
i błąd, że nie ma takiej kolumny jak added::date
Jak to zrzutować w zapytaniu ?

konto usunięte

Temat: jak zrobić group by added::date

Może to nie będzie odpowiedzią na Twoje pytanie, ale skoro rzutujesz added na date to zapytam, czemu ta kolumna nie jest typem do przechowywania dat, bo z tego co wnioskuję po pytaniu trzymasz tam daty dodania.

Chcesz tam przechowywać daty do zrób kolumnę typu, który jest do tego przeznaczony i unikniesz zbędnego rzutowania co wydaje mi się bardziej rozsądne.

Nie wiem na jakiej bazie pracujesz, akurat PostgreSQL sobie radzi z tym, co chcesz zrobić.

SELECT test FROM test ORDER BY test::date DESC;

"2012-01-06"
"2012-01-04"
"2012-01-03"

kolumna test nie jest typu date

Chyba, że tam trzymasz jakieś dziwne dane, które formatu daty nie przypominają - wtedy będzie błąd.

Aha. Jeżeli chcesz zrobić group by ze zmianą typu to musi to wyglądać tak:
SELECT test::date FROM test a group by test::dateTen post został edytowany przez Autora dnia 20.07.13 o godzinie 15:43

Następna dyskusja:

Redirect to external link z...




Wyślij zaproszenie do