Size: a a a

pgsql – PostgreSQL

2020 August 15

W

Warstone in pgsql – PostgreSQL
SUM(CASE WHEN TRUE THEN 1 ELSE 0 END)
источник

EW

Evgeniy Wolf in pgsql – PostgreSQL
или COUNT(*) FROM ... WHERE xxx IS TRUE (как один из вариантов)
источник

А

Алексей in pgsql – PostgreSQL
а xxx это что должно быть, если это xxx это результат большого запроса?
источник

EW

Evgeniy Wolf in pgsql – PostgreSQL
Алексей
а xxx это что должно быть, если это xxx это результат большого запроса?
это поле в котором TRUE или FALSE
источник

А

Алексей in pgsql – PostgreSQL
т.е. даже если мы колонку обозначим через as "что-то", то мы на "что-то" же не можем ссылаться
источник

EW

Evgeniy Wolf in pgsql – PostgreSQL
почему не можем?
источник

А

Алексей in pgsql – PostgreSQL
Evgeniy Wolf
почему не можем?
ну вот запрос...как сюда COUNT приладить :)?

SELECT * FROM (SELECT ST_DWithin(ST_MakePoint(places.longitude, places.latitude)::geography, ST_MakePoint(last_coordinates.longitude, last_coordinates.latitude)::geography, 500) FROM places, last_coordinates WHERE places.id = 3 ) as ttt;
источник

EW

Evgeniy Wolf in pgsql – PostgreSQL
Алексей
ну вот запрос...как сюда COUNT приладить :)?

SELECT * FROM (SELECT ST_DWithin(ST_MakePoint(places.longitude, places.latitude)::geography, ST_MakePoint(last_coordinates.longitude, last_coordinates.latitude)::geography, 500) FROM places, last_coordinates WHERE places.id = 3 ) as ttt;
WITH table101 AS (подзапрос) SELECT COUNT(*) FROM table101 WHERE table101.coumn_name IS TRUE — можно так, можно через SELECT FROM (подзапрос)
источник

А

Алексей in pgsql – PostgreSQL
Evgeniy Wolf
WITH table101 AS (подзапрос) SELECT COUNT(*) FROM table101 WHERE table101.coumn_name IS TRUE — можно так, можно через SELECT FROM (подзапрос)
спасибо, я оказывается неправильно псевдоним колонке давал (не в том месте) :))
источник

EW

Evgeniy Wolf in pgsql – PostgreSQL
Алексей
спасибо, я оказывается неправильно псевдоним колонке давал (не в том месте) :))
Не за что, рад был чем-то помочь :)
источник

А

Алексей in pgsql – PostgreSQL
Evgeniy Wolf
Не за что, рад был чем-то помочь :)
бывает застопоришься на простом вопросе и пока с кем-нибудь не поговоришь, ничего не получается :)))
источник

А

Алексей in pgsql – PostgreSQL
заработался :)
источник

AR

Andrey Rublev in pgsql – PostgreSQL
Доброго времени суток!
Может быть кто-то подскажет, как оптимизировать запрос на join двух таблиц. Примерно:

SELECT products.name FROM products INNER JOIN tags ON products.id=tags.product_id WHERE tags.id = 3 ORDER BY products.position LIMIT 64 OFFSET 0;

В таблице products около 20млн записей. В таблице tags около 35 млн записей.
Есть индекс по сортировке ORDER, а так же product_id, id для таблицы tags.
При маленьком OFFSET скорость приемлемая, если больше 1000, то порядка 10-50 секунд
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Проблема в paging получается
источник

AR

Andrey Rublev in pgsql – PostgreSQL
Заранее извиняюсь, если подобные вопросы уже были. Тяжело отсмотреть весь чат
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Тут Момжан недавно описывал это
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Хотя под ваш кейс не подходит. (но полезно)
источник

АЛ

Аггей Лоскутников... in pgsql – PostgreSQL
Он скорее про подсчет количества... https://momjian.us/main/blogs/pgblog/2020.html#August_10_2020
источник

AR

Andrey Rublev in pgsql – PostgreSQL
Спасибо за ссылки, в любом случае полезно будет.
Видел разные кейсы по созданию спец поля для пагинации, подсчет пагинации через функцию и основанный на такой функции индекс. Но для работы с двумя таблицами такое не подходит, так как и tags.id меняется и в итоге конечный рез-тат имеет разные элементы и кол-во..
источник