0
我使用这个查询来搜索标签相似MYSQL:基数冲突:1242子查询返回多于1行?
SELECT sites_id
FROM tags_to_sites
WHERE tags_id IN (SELECT tags_id FROM tags_to_sites WHERE sites_id= ?)
AND sites_id!= ?
GROUP BY sites_id
HAVING COUNT(*) = ( SELECT COUNT(*) FROM tags_to_sites
WHERE tags_id IN (SELECT tags_id FROM tags_to_sites WHERE sites_id= ?)
AND sites_id!= ?
GROUP BY sites_id
ORDER BY COUNT(*) DESC LIMIT 3)
,但我得到一个错误
SQLSTATE [21000]:基数违规:1242子查询返回多个 比1排
有人知道为什么吗?
你的子查询返回3行(由'ORDER BY COUNT(*)DESC LIMIT 3'),你必须只返回1或重写你的'having'声明' (#)在' – SatanDmytro
好抓!所以我如何限制最终数组只有3个结果? shoudl我在限制范围外移动限制3? – Francesco
你可以从表中添加一些数据并解释你想要的查询吗? – SatanDmytro