这可能听起来像一个奇怪的问题,但我试图使用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
这没效果。任何帮助将不胜感激。
答案 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