|
Вычисление с использованием псевдонима в 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, 15:38 |
|
Вычисление с использованием псевдонима в MySQL
|
|||
---|---|---|---|
#18+
robbbert Как быть в этой ситуации? Код: sql 1. 2. 3.
P.S. Ну и неплохо научиться давать именам полей/таблиц осмысленные названия на английском, а не на пиджине. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 17:25 |
|
Вычисление с использованием псевдонима в MySQL
|
|||
---|---|---|---|
#18+
Что мешает использовать Код: sql 1. 2. 3. 4. 5.
? Если думаете, что суммирование будет выполнено дважды - таки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 22:18 |
|
Вычисление с использованием псевдонима в MySQL
|
|||
---|---|---|---|
#18+
Akina Что мешает использовать Код: sql 1. 2. 3. 4. 5.
? Если думаете, что суммирование будет выполнено дважды - таки нет. А если ещё придется дальше использовать PROC ? Снова делать SUM(`SUMMA`) / 100 * 60 и вернется значение из "кэша"? например: Код: sql 1. 2. 3. 4. 5. 6.
Дальше ведь я могу ещё не один раз использовать то или иное вычисление. Поэтому даже чисто визуально с использованием "переменных" было бы лучше ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2021, 11:35 |
|
|
start [/forum/topic.php?fid=47&msg=40036417&tid=1828234]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 383ms |
0 / 0 |