Способ укоротить условие WHERE в sql-запросе

207
18 мая 2017, 10:28

Например, есть запрос, в котором я хочу наложить условие, чтобы он мне выдал только те строки, где value > 500:

select ...
    round((1 / (1 + exp((-1)*(... + ... + ... + ... + ...)))) * 1000) as value,
    ...
from table
where round((1 / (1 + exp((-1)*(... + ... + ... + ... + ...)))) * 1000) > 500

Есть ли возможность укоротить эту запись в условии where, чтобы не писать длиннющую строку, не прибегая к подзапросам вида select * from (...) where value > 500?

Answer 1
select ...
    round((1 / (1 + exp((-1)*(... + ... + ... + ... + ...)))) * 1000) as value,
    ...
from table
having value > 500
Answer 2

Обернуть в другой SELECT?

SELECT t.*
FROM table t
JOIN (
    SELECT id
    FROM table
    WHERE round((1 / (1 + exp((-1)*(... + ... + ... + ... + ...)))) * 1000) > 500
) tmp
ON tmp.id = u.id
READ ALSO
MySQL запрос состоящий из четырех таблиц

MySQL запрос состоящий из четырех таблиц

1) Напишите запрос, который выводит имена всех учеников, сдавших экзамен по математике у профессора Иванова на оценку 4 или 52) Напишите запрос,...

231
SQL запрос UPDATE с группировкой

SQL запрос UPDATE с группировкой

Есть таблица, в которой дублируются REF_DOC_ID

225
Как выбрать систему хранения данных innodb?

Как выбрать систему хранения данных innodb?

На одном хостинге, при создании таблиц в базе данных, по умолчанию создаются таблицы myisamИ дело в том, что это нигде нельзя выбрать, чтобы по умолчанию...

197
Как включить отзывы для товаров Woocommerce через MySql

Как включить отзывы для товаров Woocommerce через MySql

В карточке товара Woocommerce на вкладке "Дополнительно" есть возможность включить отзывы, отметив соответствующий чекбокс

291