Ответ 1
Попробуйте ORDER BY LENGTH(description) DESC
и используйте LIMIT 1
, чтобы получить самый большой.
Пример:
SELECT partnumber, manufacturer, condition, SUM(qty), AVG(price), description FROM parts
WHERE [something]
GROUP BY partnumber, manufacturer, condition
У меня есть несколько описаний, которые являются пустыми, и может быть много партовых чисел, изготовителей, значений условий, а в группе кажется, что первое доступное описание доступно, что может быть пустым. Id хотел бы получить самое длинное описание.
Я пробовал это:
MAX(LENGTH(description))
однако возвращает число символов в строке. Можно ли делать то, что я пытаюсь сделать в MySQL?
Попробуйте ORDER BY LENGTH(description) DESC
и используйте LIMIT 1
, чтобы получить самый большой.
ORDER BY LENGTH(description) DESC LIMIT 1
Это отсортирует результаты от самого длинного до кратчайшего и даст первый результат (самый длинный.)
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 (описание), похоже, работает нормально.