gpt4 book ai didi

SQL ORACLE - 在多个表中分别计数

转载 作者:行者123 更新时间:2023-12-04 23:51:39 28 4
gpt4 key购买 nike

我有表格:USER、SUBSCRIPTION、FAVORITE 和 HISTORY。我想统计每个用户的订阅数、收藏数和历史数

SELECT 
U.idUser,
COUNT(S.idUser) AS nb_sub,
COUNT(F.idUser) AS nb_fav,
COUNT(H.idUser) AS nb_his
FROM
USER U,
SUBSCRIPTION S,
HISTORY H,
FAVORITE F
WHERE
U.idUser = S.idUser AND
U.idUser = F.idUser AND
U.idUser = H.idUser
GROUP BY
U.idUser;

我试过了,但这不是我想要的结果..

谢谢你帮助我

最佳答案

试试这个:

SELECT 
U.idUser,
(SELECT COUNT(*) FROM SUBSCRIPTION S WHERE U.idUser = S.idUser) AS nb_sub,
(SELECT COUNT(*) FROM HISTORY H WHERE U.idUser = H.idUser) AS nb_fav,
(SELECT COUNT(*) FROM FAVORITE F WHERE U.idUser = F.idUser) AS nb_his
FROM USER U

关于SQL ORACLE - 在多个表中分别计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40257212/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com