示例:
SELECT partnumber, manufacturer, condition, SUM(qty), AVG(price), description FROM parts
WHERE [something]
GROUP BY partnumber, manufacturer, condition
我有一些空白的描述,并且可能有许多partnumber,制造商,条件值,并且在组中它似乎采用第一个描述,可以是空白。我想获得最长的描述。
我试过这个:
MAX(LENGTH(description))
然而,它返回字符串中的字符数。是否有可能在MySQL中尝试做什么?
答案 0 :(得分:143)
尝试使用ORDER BY LENGTH(description) DESC
并使用LIMIT 1
来获取最大值。
答案 1 :(得分:17)
ORDER BY LENGTH(description) DESC LIMIT 1
这会将结果从最长到最短排序并给出第一个结果(最长。)
答案 2 :(得分:3)
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`
答案 3 :(得分:0)
似乎我回答了我自己的问题,MAX(描述)似乎工作正常。
答案 4 :(得分:0)
MAX(LENGTH(description))返回“描述”列中最长值的长度。