0

我正在尝试对具有 id、mls_id、address、agent_id 等结构的表执行搜索。我想做的是提取 agent_id 的所有记录,但如果有相同的 mls,则不要提取多个记录。例如:

Select * From table WHERE agent_ID = 1234

可能会提取 5 条记录,但假设其中两条记录的 mls_id 相同。有没有办法只提取其中一个,并且仍然保持所有其他结果的完整性?

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 回答
0
SELECT DISTINCT *
FROM table
WHERE agent_ID = 1234

使用DISTINCT关键字将从结果集中删除重复记录。

于 2013-07-10T22:40:24.197 回答