table から 10 個のレコードを取得するために、次のような SQL (MySQL SQL) ステートメントがありますbar
。
SET @foo:=1;
SELECT DISTINCT
@start:=ROUND(RAND()*100),
@start+ROUND(RAND()*100)+1,
CONCAT("id-",@foo:=@foo+1)
FROM
bar
LIMIT 10
次のようなユニークな要素を生成します。
...
14 72 id-2
...
9 10 id-8
...
ここまでは順調ですね。しかし、私が本当にやりたいのは、最初または最初と 2 番目の列の値のみの一意性に基づいて、DISTINCT
重複が追加されないようにキーワードを使用することです。
たとえば、現在、レコードid-n
ごとに要素が常に異なるため、10 レコードすべてが一意です。したがって、これは可能です:
...
9 10 id-4
...
9 10 id-8
...
私がやりたいことは、2 番目の9 10 id-8
要素が結果セットに含まれないようにすることです (または、代わりに、9 10 id-4
どの重複が除外されてもかまいません)。DISTINCT
最初または最初と2番目の列に制約する方法はありますか?
id-n
SQL ステートメントから値を除外し、それを追加するダウンストリーム スクリプトで結果を後処理できることはわかっています。しかし、好奇心から、SQL クエリ内に含まれるソリューションを見つけたいと思います。ありがとう!