Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.01.2021, 15:38
|
|||
---|---|---|---|
|
|||
Вычисление с использованием псевдонима в MySQL |
|||
#18+
Пишу sql запрос на MySQL который первым делом в SELECT суммирует строку SUMMA и присваивает псевдоним SUMMMMA, а дальше я хочу использовать этот псевдоним (значение его) для дальнейших операций с этой цифрой - например от неё получить процент для псевдонима PROC. ``` SELECT SUM(`SUMMA`) AS SUMMMMA, -- сумма всех выводов SUMMMMA / 100 * 60 AS PROC -- процент от суммы FROM `OUT_PRICE` ``` Ошибка: SQLSTATE[42S22]: Column not found: 1247 Reference 'SUMMMMA' not supported (reference to group function) Этот вариант не работает. Видимо нужно как то привести к числовому типу псевдоним... Работает если псевдоним SUMMMMA на 3 строке заменить всё тем же сложением SUM(`SUMMA`). В будущем будем несколько подзапросов в SELECT, которые будут использовать SUMMMA для вычисления, и поэтому не хочется для каждого подзапроса вновь считать SUM(`SUMMA`).. Я думаю с каждым таким суммированием будет большая нагрузка.. Как быть в этой ситуации? п.с. на php это можно было бы решить как мне нужно, но я хочу реализовать большинство вычислений в sql запросе ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.01.2021, 17:25
|
|||
---|---|---|---|
Вычисление с использованием псевдонима в MySQL |
|||
#18+
robbbert Как быть в этой ситуации? Код: sql 1. 2. 3.
P.S. Ну и неплохо научиться давать именам полей/таблиц осмысленные названия на английском, а не на пиджине. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.01.2021, 22:18
|
|||
---|---|---|---|
Вычисление с использованием псевдонима в MySQL |
|||
#18+
Что мешает использовать Код: sql 1. 2. 3. 4. 5.
? Если думаете, что суммирование будет выполнено дважды - таки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.01.2021, 11:35
|
|||
---|---|---|---|
|
|||
Вычисление с использованием псевдонима в MySQL |
|||
#18+
Akina Что мешает использовать Код: sql 1. 2. 3. 4. 5.
? Если думаете, что суммирование будет выполнено дважды - таки нет. А если ещё придется дальше использовать PROC ? Снова делать SUM(`SUMMA`) / 100 * 60 и вернется значение из "кэша"? например: Код: sql 1. 2. 3. 4. 5. 6.
Дальше ведь я могу ещё не один раз использовать то или иное вычисление. Поэтому даже чисто визуально с использованием "переменных" было бы лучше ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&tablet=1&tid=1828234]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
3ms |
others: | 13ms |
total: | 238ms |
0 / 0 |