簡體   English   中英

用戶會話子查詢的加入等效項

[英]Join Equivalent For User Session Subquery

我有一個帶有id列的user表和一個帶有user_idsession_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM