OracleSQL如何在包含关键字列表中的关键字的大型数据库中搜索条目
问题描述:
因此,我有这个AOL搜索查询(2006)的大型泄露数据库 - 让我们称之为QD - 和一列包含所有我正在寻找在每个这些查询中的关键字。OracleSQL如何在包含关键字列表中的关键字的大型数据库中搜索条目
我试着这样做:
SELECT
keywords.keywords AS Keyword,
COUNT(QD.query) AS Amount
FROM QD, keywords
WHERE QD.query LIKE ('%' keywords.keywords '%')
GROUP BY keywords.keywords
ORDER BY COUNT(QD.query) DESC;
但是,不知怎的,不能正常工作。 任何想法?
答
Oracle版本:
SELECT
k.keywords AS Keyword,
count(k.keywords) AS Amount
FROM keywords AS k
JOIN QD AS q
ON q.query LIKE ('%' || t2.kwords || '%')
GROUP BY k.keywords
ORDER BY count(k.keywords) DESC;
非常小心使用的情况下,Table
不table
,如果你使用"table"
那么你不能没有"
围绕使用它。(或者至少它看起来像那个)
MySQL的一个,:
好吧,我想我得到了它,使用JOIN的:
查询1:
SELECT
k.keywords AS Keyword,
count(*) AS Amount
FROM keywords k
INNER JOIN QD q
ON q.query LIKE CONCAT('%', k.keywords, '%')
GROUP BY k.keywords
ORDER BY count(*) DESC
| keywords | Amount |
|-----------|--------|
| at | 34 |
| Donec | 11 |
| quis | 10 |
| amet | 9 |
| vulputate | 5 |
| ornare | 4 |
| eros | 2 |
这是什么意思 “不工作”?它是否返回错误的结果,没有结果或错误消息(哪个)? –
00907. 00000 - “缺少右括号” *原因: *动作: 第4行第41行 – Habubuga
尝试连接like - 'LIKE('%'|| keywords.keywords ||'%')的参数' 。 –