SELECT
sum(
if(bids.type IN (0) AND bids.status IN ('success'), bids.sum, 0)
) as `income`,
sum(
if(bids.type IN (1,2) AND bids.status IN ('realpay', 'success', 'verify'), bids.sum, 0)
) as `outcome`,
sum(
CASE
WHEN bids.type IN (0) AND bids.status IN ('success')
THEN bids.sum
WHEN bids.type IN (1, 2) AND bids.status IN ('realpay', 'success', 'verify')
THEN -bids.sum
ELSE 0
END
) as `balance`
FROM ...
"limit" - к сожалению, так написан плагин. Там выпадающий список со всеми пользователями, что максимально не оптимизировано, учитывая большую нагрузку на браузер при отрисовке списка. Надеюсь в будущем это исправят, но на текущий момент хочется узнать, можно ли как-то такой вариант ускорить
ID bigint(20) unsigned Auto Increment
user_login varchar(60)
По длине индексов ограничений нет
Если вы про то, зачем кавычки для числа - не знаю, не я эти запросы писал
В таблице всего чуть больше 80к строк