簡體   English   中英

用簡單的SQL查詢苦苦掙扎

[英]Struggling with simple SQL query

我的數據庫中有兩個表,一個表包含注冊用戶,另一個表用於引薦。

以下是推薦表

在此處輸入圖片說明

我想做的是做一個SQL查詢,該查詢返回引用名稱“ rname”以及此引用所引用的所有用戶(總用戶和高級用戶)

users表中,我有一個名為INT的“ package”列,如果此列的值大於0,則表明該用戶是premium,否則,該用戶不是premium。

上圖中“ ruser_referred”列代表所引薦用戶的ID。

因此結果應如下所示(假設只有id為21的用戶為premium)

推薦的總用戶數推薦的高級用戶數
rafik 3 1
薩米亞1 0
ura 1 0

這是帶有條件聚合的聯接:

select r.name, count(*) as NumReferrals,
       sum(case when u.package > 0 then 1 else 0 end) as NumPremium
from referrals r join
     users u
     on r.ruser_referred = u.userid
group by r.name;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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