Search Postgresql Archives

Re: concatenating hstores in a group by?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux