У меня есть две таблицы, которые выглядят так:
users
id name city state
1 Bob Los Angeles California
2 Susan Dallas Texas
3 Joe Los Angeles California
activity
type user_id
Activation 1
Registration 1
Activation 2
Activation 3
Я хочу сосчитать, что произошло number of times the activity of type Activation
, чтобы вернуть набор данных, подобный этому:
[
{count: 2, city: 'Los Angeles', state: 'California'},
{count: 1, city: 'Dallas', state: 'Texas'}
]
Вот запрос, который я пробовал:
SELECT COUNT(*) AS count, user_id,
(SELECT json_agg(users.*) FROM users WHERE activity.user_id = users.id) as users
FROM activity
WHERE type='Activation'
GROUP BY users.city, users.state, user_id
И я получаю эту ошибку:
error: missing FROM-clause entry for table "users"
Я не уверен, как сделать подсчет, как эта группировка данных из нескольких таблиц.
Это последняя версия Postgresql