行内の 2 つの列のすべての値が別の roe の他の 2 つの値と一致するテーブルからすべての行を取得したいです。 ???
質問する
48 次
2 に答える
2
シンプルなGROUP BY
ものがあなたのために働くはずです:
SELECT Col1,Col2
FROM YourTable T
GROUP BY Col1,Col2
HAVING COUNT(*) > 1
これからやってみたことを投稿してください...
- 編集 -
同じ緯度/経度を持つすべての行を返す場合は、次のようになります。
SELECT *
FROM YourTable
WHERE (lat,lon) IN (
SELECT lat,lon
FROM YourTable
GROUP BY lat,lon
HAVING COUNT(*) > 1
)
于 2013-02-21T18:34:22.060 に答える
1
where 句には複数の条件を含めることができます。
SELECT * FROM tbl1
WHERE tbl1.lat = tbl2.lat AND tbl1.long = tbl2.long
あなたが求めているのと同じテーブルで、次のような自己結合を試すことができます:
SELECT t1.ID, t2.ID from myTable as t1
INNER JOIN myTable as t2
WHERE t1.lat = t2.lat and t1.long = t2.long
または、グループを使用して、サブ選択または返された緯度/経度に対する 2 番目のクエリで実際のレコードを取得できる数を確認します。
SELECT t.lat, t.lng, count(*) from myTable as t
GROUP BY (t.lat, t.long)
HAVING Count(*) >=2
次のようなサブ選択を使用します(デバッグが必要な場合があります):
SELECT * from myTable as t1,
(SELECT t.lat, t.lng from myTable as t
GROUP BY (t.lat, t.long)
HAVING Count(*) >=2) as t2
WHERE t2.lat = t1.lat and t2.long = t1.long
緯度/経度が同一のレコードが多数存在する可能性がある場合は、グループを使用して 2 つ以上の一致の条件で緯度/経度を引き戻し、テーブルを再度反復処理して、コード内の各ペアに一致するすべてのレコードを取得することをお勧めします。 .
于 2013-02-21T18:31:02.883 に答える