【发布时间】:2019-12-20 15:09:06
【问题描述】:
除了Get total sum of video comments for each video,我注意到我无法使用 v.commentCount,因为我清理了一些数据,现在该列不准确。
所以我需要用评论表统计videoId cmets和总videoID cmets。
我有一个餐桌视频
videoId | channelId
a | 1
b | 1
c | 2
d | 2
还有一张桌子。 video.channelId 映射到 cmets.videoID_channelID
commentID | replyID | videoID | videoID_channelID | textOriginal
c1 | NULL | a | 1 | "test"
c2 | NULL | a | 1 | "some text"
NULL | r1.c1 | b | 1 | "asdad"
NULL | r2.c1 | b | 1 | "xxx"
c5 | NULL | b | 1 | "yyy"
c6 | NULL | c | 2 | "zzz"
c7 | NULL | d | 2 | "-...-."
对于每个 videoId,我需要 commentCount(每个 videoId 有多少 cmets)和该频道所有 commentCounts 的总和(channelID 的每个视频总共有多少 cmets?)。
所以最终结果应该是:
videoId | channelId | commentCount | commentCount_sum
a | 1 | 2 | 5
b | 1 | 3 | 5
c | 2 | 1 | 2
d | 2 | 1 | 2
到目前为止我的代码:
SELECT v.videoId,
v.channelId,,,
count(c.textOriginal) commentCount,
count(c.textOriginal) over (partition by c.videoID_channelID) as commentCount_sum,
FROM videos v
JOIN comments c
ON v.videoId = c.videoID
GROUP BY v.videoId
ORDER BY commentCount_sum ASC
但我没有得到正确的commentCount_sum?
【问题讨论】:
-
什么是
sentiment_sum和textOriginal?编辑您的问题并解释您想要什么。 -
已编辑。 text = textOriginal,sentiment_sum 是另一列,我现在计算 c.textOriginal 因为 c.* 是被禁止的。我只需要单个视频的评论计数和每个视频的聚合频道评论计数。
标签: sql sqlite group-by count sum