据我所知,mysql GROUP BY组找到了最后一条记录.
GROUP BY第一条记录有什么解决方案吗?
我在SQL命令中设置了ORDER,我需要GROUP BY返回第一条记录,而不是最后一条记录.
编辑
这是查询
SELECT 
  DISTINCT(master.masterID),
  langData.*,
  master.* 
FROM master_table as master 
INNER JOIN lang_table as langData ON 
langData.masterID=master.masterID 
GROUP BY master.masterID 
ORDER BY 
CASE 
    WHEN langData.lang='currentLang' THEN 1 ELSE 999 END , 
    master.name desc LIMIT 0,10 
上面的查询选择了masterID多语言表,并假设首先返回记录currentLang并按名称排序,然后按所有其他语言排序.
不要问我为什么不在JOIN中设置语言.这是要做的方法.
所以到目前为止一切正常,期待我有语言en和记录的情景fr.如果currentLang是en基于  
langData.lang='currentLang' THEN 1 ELSE 999 END
该en订单是1和fr秩序是和999不是获取价值的en,我得到的价值fr.
这就是我想要分组到第一行的原因.
Qua*_*noi 11
我假设你在谈论类似的东西
SELECT  *
FROM    mytable
GROUP BY
        column
GROUP BY除非它们在组内完全相同,否则不应使用非聚合表达式.
如果要返回组中包含表达式最小值的记录,请使用以下命令:
SELECT  mo.*
FROM    (
        SELECT  DISTINCT column
        FROM    mytable
        ) md
JOIN    mytable mo
ON      mo.id = 
        (
        SELECT  id
        FROM    mytable mi
        WHERE   mi.column = md.column
        ORDER BY
                mi.column, mi.someorder
        LIMIT 1
        )