选择列尚未返回现有结果的所有行

时间:2014-03-23 05:23:54

标签: mysql

我试图从mysql数据库中提取记录,但我希望一列中的结果是完全唯一的

下面是一个示例表

fname  | lname  | Street
-----------------------
john   | brown  | camelot st
george | kent   | camelot st
fred   | kent   | johnston rd
jane   |williams| camelot st
jack   | johnson| archer dr
james  | smith  | bruce st
adam   | smith  | james dr

下面是我想要的结果

Street
-----------
camelot st
johnston rd
archer dr
bruce st
james dr

换句话说,第一次返回任何街道名称时,它应该在结果首次显示后显示在结果中,并且应该省略它。

我如何在mysql中管理它

1 个答案:

答案 0 :(得分:2)

SELECT * FROM tableName 
WHERE street IN (
    SELECT DISTINCT street FROM tableName
) LIMIT 1;

此查询应该回答您的问题。但是,请务必注意您应该通过id字段进行排序,因为否则无法保证始终以相同的顺序查询数据库中的行。