我为NOOB问题道歉,但我无法理解两张桌子的JOINING结果。
我有一个表(tableA)链接带有类别的条目有列entry_id和cat_id
我有另一个表(tableB),它计算了对一个时间戳查看entry_id的次数
我想从tableB获取一个entry_id列表,按照表A中cat_id查看和过滤的次数排序。
我有两个SQL语句,但无法弄清楚如何将它们组合在一起。
声明1 - 获取特定类别中的entry_id:
SELECT entry_id FROM tableA WHERE cat_id = ""
声明2 - 从tableB获取entry_id的排序列表:
SELECT entry_id FROM tableB GROUP BY entry_id ORDER BY COUNT(*) DESC
谢谢!
答案 0 :(得分:1)
SELECT
tableb.entry_id,
FROM
tableb
INNER JOIN tablea
ON tableb.entry_id = tablea.entry_id
AND tablea.cat_id = ""
GROUP BY
tableb.entry_id
ORDER BY
COUNT(*) DESC
答案 1 :(得分:1)
试试这个:
SELECT
A.entry_id, Count(B.entry_id) Viewed
FROM TableA A
LEFT JOIN TableB B
ON A.entry_id = B.entry_id
WHERE A.Cat_Id = 5 -- your cat_id
GROUP BY A.entry_id
ORDER BY Count(B.entry_id) DESC