OracleSQL如何在包含关键字列表中的关键字的大数据库中搜索条目

时间:2016-11-26 23:20:39

标签: sql oracle oracle-sqldeveloper

所以我有一个大泄漏的AOL搜索查询数据库(2006) - 让我们称之为QD - 和一个包含一列的表,其中包含我在每个查询中寻找的所有关键字。

我正在尝试做类似的事情:

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;

但那不知何故不起作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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 one,:

好吧,我认为我得到了它,使用了JOIN:

SQL Fiddle

查询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

<强> Results

|  keywords | Amount |
|-----------|--------|
|        at |     34 |
|     Donec |     11 |
|      quis |     10 |
|      amet |      9 |
| vulputate |      5 |
|    ornare |      4 |
|      eros |      2 |