Re: concatenating hstores in a group by?
От | Adrian Klaver |
---|---|
Тема | Re: concatenating hstores in a group by? |
Дата | |
Msg-id | 9d1dfa7a-4d1d-40c2-960e-5d9240217245@aklaver.com обсуждение исходный текст |
Ответ на | Re: concatenating hstores in a group by? (Brent Wood <Brent.Wood@niwa.co.nz>) |
Ответы |
Re: concatenating hstores in a group by?
|
Список | pgsql-general |
On 1/19/25 12:09, Brent Wood wrote: > Thanks for the replies, appreciated... > > My current solution is: > > /select trip_code,/ > / station_no,/ > / timer_sec + interval '12 hour' as NZST,/ > / timer_sec as utc,/ > / hstore_to_json(string_agg(values_sec::text, ', ')::hstore) > as values_sec/ > / from (select '$TRIP' as trip_code,/ > / $STATION as station_no,/ > / date_trunc('second', timer) as timer_sec,/ > / values_sec/ > / from t_reading_hstore_sec/ > / where timer >= '$ISO_S'::timestamp - interval '12 hour'/ > / and timer <= '$ISO_F'::timestamp - interval '12 hour') as foo/ > /group by timer_sec, trip_code, station_no;/ > > Convert the hstore to text, aggregate the text with string_agg(), > convert back to hstore (which seems to remove duplicate keys, OK for my > purpose) To be clear values_sec in t_reading_hstore_sec is the hstore field? If so what is it's structure? > and group by timer truncated to whole seconds. I also provide UTC & > local timezone times for each set of readings. It is run in a bash > script which passes the trip & station values to the query, as well as > the start/finish times as ISO format strings. > > The output is going to a Sqlite3 (Spatialite) database, which does not > have hstore, or all the hstore functionality that Postgres has, but does > have a json datatype which is adequate for our purposes, hence the > hstore_to_json in the query. > > > Thanks again, > > Brent Wood > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: