私はと呼ばれる測定値を持つテーブルを持っていますmeasure 。テーブルには、場所用の 1 つの列と、対応する値用の 2 番目の列があります(例は簡略化されています)。
テーブルは次のようになります ( loc1の 2 つのエントリに注意してください)。
location | value
-----------------
loc1 | value1
loc1 | value2
loc2 | value3
loc3 | value4
loc4 | value5
この場所にはこのテーブルに複数のエントリがあるため、テーブルの最初の 2 行 (つまり、loc+value1 と loc1+value2) のみを返す SQL クエリ (実際には sqlite を使用) を作成したいと考えています。
疑似テキストの定式化は次のようになります: テーブルの
疑似コード全体に複数回存在する場所の行を表示:
SELECT * from measures WHERE COUNT(location over the whole table) > 1
解決策は本当に簡単かもしれませんが、どういうわけか私はナットを割っていないようです.
これまでのところ、複数のエントリを持つ場所を返す SELECT ステートメントがあります。次のステップとして、このクエリから返された場所に対応するすべての行が必要になります。
SELECT location FROM measures GROUP BY location HAVING count(*) > 1
次のステップとして、同じテーブルで JOIN を実行し、上記のクエリを組み込んでみましたが、結果は正しくありません。私はこのように試しましたが、これは間違っています:
select t1.location, t1.value
from
measures as t1
join
measures as t2 on t1.location = t2.location
group by
t2.location
having count(*) > 1
助けていただければ幸いです!