Re: [SQL] DISTINCT count(*), possible?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [SQL] DISTINCT count(*), possible?
Дата
Msg-id 24839.929543079@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [SQL] DISTINCT count(*), possible?  (Stuart Rison <stuart@ludwig.ucl.ac.uk>)
Ответы Re: [SQL] DISTINCT count(*), possible?
Список pgsql-sql
Another way is
SELECT DISTINCT field INTO temp_table FROM mytable;SELECT count(*) FROM temp_table;DROP TABLE temp_table;

which is arguably more efficient than the previous solution
for large tables --- it should involve O(n log n) work rather
than O(n^2).  For a small table, the overhead of creating and
dropping a table might overshadow the actual work, though.

In 6.5 you can use "INTO TEMP temp_table" and avoid worrying
about having to invent distinct temp table names for concurrent
users of the database.

The SQL-standard "SELECT count(DISTINCT field)" would be even nicer,
of course, but I dunno when someone will get around to it...
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: The Hermit Hacker
Дата:
Сообщение: Re: [HACKERS] Postgres mailing lists
Следующее
От: Roland_DUBOULOZ
Дата:
Сообщение: date