Как проверить сумму двух разных строковых столбцов в MYSQL? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть таблица с данными о Клиенте, подобная этой

ID      F_NAME      L_NAME
1       Danny       Drinkwater
2       Danny       Ings
3       Wayne       Rooney

Я хочу вернуть имена тех клиентов, чья общая длина F_NAME и L_NAME меньше 12

Я пытался этот запрос Select F_NAME from Customer where(SUM(length(F_NAME))+length(L_NAME))))<12;

Но я получаю ошибку, подобную этой Invalid use of group function

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Вы используете агрегатную функцию SUM неправильно.

SUM вы можете использовать, когда хотите суммировать результаты разных строк

Попробуйте это:

SELECT *
FROM Customer
WHERE CHAR_LENGTH(f_name) + CHAR_LENGTH(l_name) < 12

В вашем случае, если вы используете только простую букву и никаких специальных символов, вы можете использовать LENGTH вместо CHAR_LENGTH. Но CHAR_LENGTH это нормально для дальнейшего использования.

1 голос
/ 30 апреля 2020

Just:

select f_name
mytable
where char_length(f_name) + char_length(l_name) < 12

Обратите внимание, что char_length() дает вам длину строки в символах, а не в байтах (как указано length()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...