0

w_id(word id) と txt_id(text id) の 2 つの列を持つテーブルがあります。

たとえば、私はこの値を持っています:

-----------------
| w_id  | txt_id |
-----------------
| 150  |   7    |
-----------------
| 151  |   7    |
-----------------
| 152  |   7    |
-----------------
| 152  |   7    |
-----------------
| 151  |   8    |
-----------------
| 160  |   8    |
-----------------
| 165  |   8    |
-----------------

w_idリストを取得したい 魔女はこのテーブルの特定のテキストのみです。テキスト7の単語を取得したい場合、150と152になります。

このクエリを書くにはあなたの助けが必要です。私はまだこの問題を自分で解決することを考えています。このテーブルは非常に大きくなる可能性があります。数百万行。だから私はそれを慎重に書く必要がある

私はこれを試してみましたが、これは間違っています: このクエリでは、152 ではなく 150 しか返されません。

  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
4

2 に答える 2