0

id、mls_id、address、agent_id などの構造を持つテーブルで検索を実行しようとしています。私がやりたいのは、agent_id のすべてのレコードを取得することですが、同じ mls がある場合は複数取得しないことです。例えば:

Select * From table WHERE agent_ID = 1234

5 つのレコードが表示される可能性がありますが、そのうちの 2 つのレコードの mls_id が同じであるとします。それらの1つだけを引っ張って、他のすべての結果をそのままにしておく方法はありますか?

4

2 に答える 2

1

これはトリックを行うようです:

これが行うことは、同じ mls_id を持つレコードから最小の ID を持つレコードを選択することです

SELECT id, mls_id, address, agent_id
FROM MyTable t1
WHERE t1.agent_id=1 AND t1.id = 
    (SELECT Min(t2.id) 
     FROM MyTable t2 
     WHERE agent_id=1 AND t2.mls_id=t1.mls_id 
     GROUP BY t2.mls_id)

これがフィドルの例です: SqlFiddle

于 2013-07-10T23:06:19.137 に答える