[英]Join Equivalent For User Session Subquery
我有一個帶有id
列的user
表和一個帶有user_id
和session_id
列的request
表。
我想獲取每個用戶擁有的會話數。
這是我使用子查詢編寫的查詢:
select user.id,
(
select count(distinct session_id)
from request
where request.user_id = user.id
) as session_count
from user
與此等效的連接是什么?
那這個呢?
select u.id, count(distinct r.session_id)
from user u
join request r on r.user_id = u.id
group by u.id
您可以使用 GROUP BY 而無需子查詢,例如
SELECT u.id, COUNT(DISTINCT r.session_id)
FROM user u
JOIN request r
ON u.id = r.user_id
GROUP BY u.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.