SQL question.
| От | FC |
|---|---|
| Тема | SQL question. |
| Дата | |
| Msg-id | 6EE9301F-4C50-4160-9DC0-667826764A74@myamail.com обсуждение исходный текст |
| Ответы |
Re: SQL question.
Re: SQL question. |
| Список | pgsql-general |
Hello SQL Aces !
I want to do a select on a table distinct on linkid and sorted by
date. I have try this
SELECT DISTINCT ON (linkid) * FROM all_links
WHERE uid='2' AND DATE_TRUNC('day',read_date) = DATE_TRUNC('day',
TIMESTAMP '2005-06-01') ORDER BY linkid, read_date;
With this request "works" but the raws are sorted as I want. To have
the rows sorted by date I have done this using a temporary table and
that works exactly as I want.
CREATE LOCAL TEMP TABLE temp_links WITHOUT OIDS AS
SELECT DISTINCT ON (linkid) * FROM all_links
WHERE uid='2' AND DATE_TRUNC('day',read_date) = DATE_TRUNC('day',
TIMESTAMP '2005-06-01') ORDER BY linkid;
SELECT * from temp_links ORDER BY read_date DESC limit 100
My question is... How can I do the same thing in the more efficient
way and without using a temporary table. Since I am using PHP and the
table is not deleted at the end of the program because PHP keeps the
connection to the database open.
Thanks for any suggestions.
Fred
В списке pgsql-general по дате отправления: