假设这些表带有这些字段:
历史:
postID, viewerID
帖子:
postID, posterID
现在这个查询:
SELECT postID FROM history
WHERE postID IN (SELECT postID FROM Posts WHERE posterID IN (10,20,30)
AND viewerID=50
将返回来自海报 10、20 和 30、观众 50 已查看的所有 postIDS。
我所追求的是一个“分组依据”,它将根据每个posterID 的任何帖子的结果数量。
例如,当前描述的查询的结果可以有
100,200,300,300,300,100,400, 700, 500
假设前 7 个结果来自海报 10,后 2 个来自海报 20 - 所以我需要以下结果:
posterID viewsNum
10 7
20 2
我的 SQL 级别是中级的,所以我还不清楚如何实现这一点,如果里面隐藏着一个“简单”的答案,对不起:)