У меня есть следующие таблицы (city1, city2, city3 (и т. Д.) И пользователи)
таблица city1
id userid notes noteAdded
1 55 this is a test 2019-03-18 14:40:05.227
2 56 another test 2019-04-18 14:40:05.227
3 55 third test 2019-04-16 14:40:05.227
таблица city2
id userid notes noteAdded
1 55 this is city2 notes 2019-04-18 14:40:05.227
2 57 this is another note 2019-04-17 14:40:05.227
city3 table
id userid notes noteAdded
........
users table
id username
55 bob smith
56 james brown
57 scott bean
Я пытаюсь добиться следующего, упорядоченного по времени отправки desc
id userid username noteadded count
1 55 bob smith 04-18-fulldatehere 3
2 56 james brown 04-18... 1
3 57 scott bean 04-17... 1
4 55 bob smith 04-16... 3
У меня есть следующее
select userid, noteadded, username
from (
SELECT userid, noteadded, u.username
FROM city1 cone
left join users on cone.userid = u.id
union
SELECT userid, noteadded, u.username
FROM city2 ctwo
left join users u on ctwo.userid = u.id
)
as rr
order by noteadded desc;
Это работает, но как только я добавляю COUNT(userid)
перед этой подкомандой (оператор выбора между круглыми скобками), я получаю ошибки, указывающие rr.userid
недействительно.Если я уберу отсчет, заявление сработает.Единственная причина, по которой я добавил часть as rr
, заключается в том, что без этого я не мог бы вкладывать подзапрос, т. Е. Я не мог сделать это:
select userid, noteadded, username
from (
SELECT userid, noteadded, u.username
FROM city1 cone
left join users on cone.userid = u.id
union
SELECT userid, noteadded, u.username
FROM city2 ctwo
left join users u on ctwo.userid = u.id
)
order by noteadded desc;
Моя цель для оператора sql - измерить, насколько активнымпользователь - таким образом, количество.В конце концов я планирую ограничить результаты и / или рассчитывать по дате.Скажем, покажи только вещи за последние 30 дней.