Size: a a a

2020 May 16

A

Alexander in SPb Python
David Shiko
Да, но для этого данныне обязательно должны быть в таблице, а не выборке
А выборку ты как получаешь?
источник

RK

Ruslan Krivoshein in SPb Python
David Shiko
Да, но для этого данныне обязательно должны быть в таблице, а не выборке
А JOIN?
источник

A

Alexander in SPb Python
Т.е. у тебя есть какой-то то результат запроса select к базе, в котором ты хочешь дополнительно посчитать количество встречающихся значений в поле. Так?
источник

DS

David Shiko in SPb Python
Alexander
А выборку ты как получаешь?
Из разных таблиц я образую набор ids
Пример:
SELECT user_id FROM users WHERE user_id IN (набор ids)
источник

DS

David Shiko in SPb Python
Alexander
Т.е. у тебя есть какой-то то результат запроса select к базе, в котором ты хочешь дополнительно посчитать количество встречающихся значений в поле. Так?
Да.
источник

DS

David Shiko in SPb Python
JOIN пробовал, но там нужно считать для каждого id отдельно, это не годится, когда айдишников сотни. (или изобретать велосипед)
источник

A

Alexander in SPb Python
Вообще я бы посмотрел в сторону UNION, а вообще как раз для таких вещей подходят оконные функции
источник

A

Alexander in SPb Python
Напиши лучше пример таблиц с полями и каким запросом ты оттуда тянешь данные
источник

A

Alexander in SPb Python
Щас аноны тебе решат задачу
источник

DS

David Shiko in SPb Python
Ну например:

SELECT user_id FROM users WHERE
       goal IN ({goal_placeholders}) AND age BETWEEN %s AND %s AND gender IN ({gender_placeholders}))
источник

A

Alexander in SPb Python
SELECT user_id, COUNT(user_id) FROM ... WHERE ... GROUP BY user_id
источник

DS

David Shiko in SPb Python
Да, пробовал, но результат COUNT будет не от выборки, а от количества записей в таблице, в этом вся соль, для этого и есть временная таблица.
источник

A

Alexander in SPb Python
David Shiko
Да, пробовал, но результат COUNT будет не от выборки, а от количества записей в таблице, в этом вся соль, для этого и есть временная таблица.
Выборка из скольки таблиц делается?
источник

DS

David Shiko in SPb Python
Alexander
Выборка из скольки таблиц делается?
Из 3-х
источник

A

Alexander in SPb Python
David Shiko
Из 3-х
и из всех выбирается поле user_id ?
источник

DS

David Shiko in SPb Python
Alexander
и из всех выбирается поле user_id ?
Да (или shown_id, которые содержит такие-же айдишники)
источник

A

Alexander in SPb Python
Объедени их через UNION ALL
источник

DS

David Shiko in SPb Python
Alexander
Объедени их через UNION ALL
А чем мне это поможет?
источник

A

Alexander in SPb Python
после этого можно сделать что-то такое:
SELECT user_id, COUNT(user_id) FROM (SELECT ... UNION ALL SELECT ... ) GROUP BY user_id
источник

A

Alexander in SPb Python
т.е. потом можно этот UNION засунуть в подзапрос и из него вытащить уже нормальным запросом с группировкой
источник