分组时,如何从表中select最长的“string”

例:

SELECT partnumber, manufacturer, condition, SUM(qty), AVG(price), description FROM parts WHERE [something] GROUP BY partnumber, manufacturer, condition 

我有一些空白的描述,可能有很多partnumber,制造商,条件值,并在该组似乎采取第一个描述可用,可以是空白的。 我喜欢得到最长的描述。

我试过这个:

 MAX(LENGTH(description)) 

但是,它返回string中的字符数。 是否有可能做什么即时尝试在MySQL中做?

尝试ORDER BY LENGTH(description) DESC并使用LIMIT 1仅获得最大值。

 ORDER BY LENGTH(description) DESC LIMIT 1 

这将从最长到最短的结果sorting,并给出第一个结果(最长)。

 SELECT partnumber, manufacturer, `condition`, SUM(qty), AVG(price), description FROM parts WHERE [something] AND LENGTH(description) = ( SELECT MAX(LENGTH(description)) FROM parts AS p WHERE p.partnumber = parts.partnumber AND p.manufacturer = parts.manufacturer AND p.condition = parts.condition ) GROUP BY partnumber, manufacturer, `condition` 

看来我回答了我自己的问题,MAX(说明)似乎工作得很好。