如何进行排除重复记录的mysql搜索
我正在尝试对结构如下的表执行搜索 id、mls\U id、地址、代理id。我要做的是提取代理id的所有记录,但如果存在相同的mls,则不提取多个记录。例如:如何进行排除重复记录的mysql搜索,mysql,select,Mysql,Select,我正在尝试对结构如下的表执行搜索 id、mls\U id、地址、代理id。我要做的是提取代理id的所有记录,但如果存在相同的mls,则不提取多个记录。例如: Select * From table WHERE agent_ID = 1234 可能会调出5条记录,但假设其中两条记录的mls_id相同。有没有一种方法可以让你只选择其中一个,而其他的结果都保持得体 SELECT DISTINCT * FROM table WHERE agent_ID = 1234 使用DISTINCT关键字将从结
Select * From table WHERE agent_ID = 1234
可能会调出5条记录,但假设其中两条记录的mls_id相同。有没有一种方法可以让你只选择其中一个,而其他的结果都保持得体
SELECT DISTINCT *
FROM table
WHERE agent_ID = 1234
使用
DISTINCT
关键字将从结果集中删除重复记录。这似乎起到了作用:
它所做的是从具有相同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)
这是一个小提琴的例子:它给了我同样的结果。我仍然得到三个具有相同mls_id字段的记录。如果我只是从agent_id=1234的表中选择了不同的mls_id,这将给我不同的结果,但我没有得到所需的其他字段,如地址、城市、st等。
SELECT DISTINCT*FROM table
与SELECT*FROM table
完全相同,因为标准表中的所有行都是唯一的。哇,这很有效。比我以前创建的mysql语句复杂得多。谢谢