我的查询有问题,谁在 2 秒内运行。因为子查询返回 600 行,所以我需要没有 IN 运算符的查询或更快的查询。
目前,我有这个查询:
SELECT tag.idtag, tag, COUNT(*) AS nombre
FROM tag, questtag
WHERE tag.idtag = questtag.idtag
AND idquestion IN (
SELECT question.idquestion
FROM question, questtag
WHERE question.idquestion = questtag.idquestion AND idtag IN (1)
GROUP BY question.idquestion
HAVING COUNT(*) = 1
)
GROUP BY tag
ORDER BY nombre DESC, tag
LIMIT 0, 24
我想对 sql 说:“获取与 Javascript 标记(交叉约束)相关的其他标记,例如 stackoverflow。”
我有 3 个表:问题、任务标签和标签。问题和标签与 questtag 表相关。
Sql 架构:
问题(idquestion,问题):
1、《Javascript与Jquery》
2、《HTML、CSS、Javascript》
……
QUESTTAG(#idquestion,#idtag):
1, 1
1, 2
2、3
2、4
2, 1
……
QUESTTAG(#idtag,标签):
1、Javascript
2、jQuery
3、HTML
4、CSS
……
使用Javascript,我必须获得Jquery、HTML、CSS。使用Javascript, HTML,我必须得到CSS。