在MySQL中使用distinct函数

时间:2012-05-24 21:28:03

标签: php mysql sql database distinct

这可能听起来像一个奇怪的问题,但我试图使用distinct子句来获取数据库中的所有名称,但我希望名字是唯一的

表格结构

id   fname   lname   haircolor
1    john    doe     brown
2    bob     seagal  blonde
3    kevin   smith   red
4    bob     doe     green

所需的输出

john doe brown
bob seagal blonde
kevin smith red

我试过了

SELECT fname, lname, haircolor
FROM MainTable
INNER JOIN (select distinct frame from MainTable) as Names
ON MainTable.fname=Names.fname 

这没效果。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:6)

请尝试使用GROUP BY

SELECT fname, lname, haircolor
FROM yourtable
WHERE id IN
(
    SELECT MIN(id) FROM yourtable GROUP BY fname
)

答案 1 :(得分:1)

尝试使用GROUP BY

SELECT fname, lname, haircolor FROM MainTable GROUP BY fname

答案 2 :(得分:0)

试试这个:

SELECT fname,SUBSTRING_INDEX( MAX(CONCAT(lname,'~',haircolor)) , '~', 1 ) lname
 ,SUBSTRING_INDEX(SUBSTRING_INDEX( MAX(CONCAT(lname,'~',haircolor)) , '~', 2 ),'~',-1) haircolor from MainTable