我有 2 列的表:w_id(word id) 和 txt_id(text id)
例如我有这个值:
-----------------
| w_id | txt_id |
-----------------
| 150 | 7 |
-----------------
| 151 | 7 |
-----------------
| 152 | 7 |
-----------------
| 152 | 7 |
-----------------
| 151 | 8 |
-----------------
| 160 | 8 |
-----------------
| 165 | 8 |
-----------------
我想获取 w_id 列表,如果我想获取文本 7 的单词,则仅在此表的特定文本中,它将是 150 和 152。
我需要你的帮助来编写这个查询。我现在仍在考虑自己解决这个问题。这张桌子可以很大。数百万行。所以我需要仔细地写
我试试这个,但这是错误的:这个查询只给我 150,而不是 152。因为它在 7 个文本中是两次:
SELECT w_id
FROM tablename
WHERE w_id
IN (
SELECT w_id
FROM tablename
WHERE txt_id = '7'
GROUP BY w_id
)
GROUP BY w_id
HAVING COUNT(w_id) = 1