我有以下查询:
SELECT
l.id,
l.name,
l.url,
c.name,
COUNT(cc.id) AS popularity
FROM
links AS l,
categories AS c,
clicks AS cc
WHERE
l.category_id = c.id
AND
l.id = cc.link_id
AND
l.active = 1
ORDER BY
popularity DESC
LIMIT
10
如您所见,我有 3 个表:链接、类别和点击。在“点击”中,每次点击数字时我都会保存一条记录。我想选择 10 个最受欢迎的链接,但我只获得最后一条记录,其中包含所有点击次数。
我的查询有什么问题?
提前致谢!
最佳答案
似乎你需要分组
SELECT
l.id,
l.name,
l.url,
c.name,
COUNT(*) AS popularity
FROM
links AS l,
categories AS c,
clicks AS cc
WHERE l.category_id = c.id
AND l.id = cc.link_id
AND l.active = 1
GROUP BY l.id, c.name
ORDER BY popularity DESC LIMIT 10
关于mysql - 选择最受欢迎的商品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37053728/