【发布时间】:2021-12-15 14:41:26
【问题描述】:
我打算创建一个包含数百万行的表,按以下方式组织:
file,word,occurrences
file23,apples,343<br>
file17,apples,3<br>
file10341,apples,0<br>
...<br>
file16000,apples,0
此表将包含 16,000 个唯一单词,它们在 16,000 个唯一文件中出现。
我想找到一种方法来通过定位特定单词来查询表格,然后只查找最相关的结果 - 即出现次数最多的前 10 个文件。
我尝试了以下代码及其变体,但没有奏效:
WHERE/HAVING `word`=('apples', 'oranges', 'prunes') ORDER BY `occurrences` DESC
话虽如此,我该如何执行此查询,即专门关注相关单词,按出现次数列出它们,并获取前 10-15 个最相关的文件?
【问题讨论】:
-
帮助我们帮助您并编辑您的问题以包含Minimal, Reproducible Example
-
但这正是我要问的原因 - 我是 SQL 新手,我不擅长查询表。我弄乱了我发布的代码的 sn-p,我还尝试了 GROUP BY 语句,但无济于事。我已经清楚地描述了我要做什么 - 定位一列“单词”,按另一列“出现”对其进行排序,并获取第三列“文件”的前 10-15 个元素。
-
`WHERE word IN ('a','b','c') 并在末尾添加 LIMIT 15
标签: mysql sql database-design