У меня есть таблица улья со следующими столбцами:
id(primary key)
user_id (not primary key),
amount,
transaction type(+1 or -1) depending on credit or debit.
Моя цель - суммировать сумму для каждого пользователя (вместе со знаком), а затем создать новый столбец «депозит», который будет иметьзначение «депозит оплачен», если сумма сумм>> 500, и «без депозита», если сумма сумм для пользователя меньше 500.
Ниже мой код:
SELECT user_id, SUM(amount*sign) as amt, CASE WHEN amt>=500 THEN "deposit paid" ELSE "no deposit" END as Deposit
FROM table
GROUP BY user_id
Но я получаю следующую ошибку:
Ошибка семантического исключения 10025, Выражение не в GROUP по ключу «без депозита»
Я могу понять, что ошибка в том, что оператор caseвыполняется сначала, а затем пытается группировать, что приводит к ошибке.
Как я могу решить это. Я пытался поместить таблицу в подзапрос, но не смог.