Re: count(*), EXISTS, indexes

Поиск
Список
Период
Сортировка
От Itai Zukerman
Тема Re: count(*), EXISTS, indexes
Дата
Msg-id 8765pkr830.fsf@matt.w80.math-hat.com
обсуждение исходный текст
Ответ на Re: count(*), EXISTS, indexes  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
>> >   CREATE TABLE A (x int PRIMARY KEY, real v);
>> >   CREATE TABLE B (x int);
>> >
>> >   SELECT sum(v) FROM A WHERE EXISTS (SELECT 1 FROM B WHERE A.x=B.x);
>>
>> This seems to be a reasonably-performing workaround:
>>
>>   SELECT DISTINCT x INTO TEMP C FROM A,B WHERE A.x=B.x;
>>   SELECT sum(v) FROM A,C WHERE A.x=C.x;
>
> Hmm, given that, would something like:
>
> select sum(v) from
>  (select distinct on(x) x,v from a,b where a.x=b.x) as foo;

Excellent.  Thanks!

-- 
Itai Zukerman  <http://www.math-hat.com/~zukerman/>



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

Предыдущее
От: Itai Zukerman
Дата:
Сообщение: Re: SELECT INTO TEMP in Trigger?
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: count(*), EXISTS, indexes