| От | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера