[英]Deriving Data from Multiple Tables & Joining in Oracle
用户将使用以下两个表记录数据:
用户:
UserID UserName UserType
1 Tom 5
2 Mike 6
3 Joe 6
记录:
UserID Recording
1 10
1 15
我想使用一个查询来查找名称,以及每个UserType高于UserType平均值的用户的录音计数。 如果用户从未进行过录制,则必须为0(不为null或丢失)。
我的方法是首先选择高于平均水平的用户,其次选择每个用户的录音数量,然后选择UserID匹配的两个用户。 有没有更直接的方法?
SELECT usr.UserID
,COUNT(rec.Recording) Count
FROM USers usr
,Recordings rec
,(SELECT AVG(UserType) average
FROM USers usr1) avg1
WHERE usr.Userid = rec.userid(+)
AND avg1.average < usr.UserType
GROUP BY usr.UserID
请检查是否可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.