我有以下的列postgres的查询不同COUNT和ROW_NUMBER()
group_id BIGINT,
user_id BIGINT,
message_date timestamp
用于右USER_ID的表消息我想能够总列数与USER_ID与计数时,不同的组这USER_ID,并考虑USER_ID的数量做了一个排行榜,位置太
我想这个查询
SELECT main.total_m, main.group_number, main.pos
FROM (
SELECT user_id, COUNT(group_id) AS group_number, COUNT(user_id) AS total_m,
ROW_NUMBER() OVER (
PARTITION BY COUNT(user_id)
ORDER BY COUNT(user_id) DESC
) AS pos
FROM messages
WHERE message_date > date_trunc('week', now())
GROUP BY user_id, group_id
) AS main
WHERE user_id = %s
,但我不明白的结果,我想有。我在哪里错了?
提供样品数据和预期的结果。 –