Можно ли CAST-значения во время запросов SUM? - PullRequest
0 голосов
/ 09 февраля 2011

У меня есть простой запрос для суммирования значений столбца. Однако для логических значений я использую поля ENUM, которые хранят все свои значения в виде строк, и по этой причине SUM работает некорректно. MySQL позволяет выполнять операцию CASTING для значений во время выбора и упорядочения, но кажется, что это не работает для математических функций.

Вот пример моего запроса:

SELECT SUM(CAST(`tables` AS SIGNED)) AS total FROM event_guests WHERE `event_id`='1923'

Я что-то не так делаю?

1 Ответ

1 голос
/ 09 февраля 2011

Попробуйте назначить приведенное поле в переменной SQL. Затем используйте эту переменную в вашей математической операции.


SET @v2 = CAST('tables' AS SIGNED);
SELECT (@v1 := CAST(`tables` AS SIGNED)) AS signed_tables, SUM(@v1) AS total FROM event_guests WHERE `event_id` = '1923';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...