Подсчитать сумму двух столбцов

Я пытаюсь подсчитать сумму двух столбцов из подмножества результатов, пока я собрал это вместе

SELECT COUNT(*) 
FROM table_name 
WHERE column_1 + column_2 >= 3 IN (SELECT id 
                                   FROM table_name 
                                   where id = 16 
                                   AND (name = 'Richard') 
                                   ORDER BY column_3 
                                   DESC LIMIT 10);

В качестве вывода я ожидаю количество случаев, когда сумма равна >=3, поэтому, например, 5

На данный момент я получаю ошибку

ERROR: operator does not exist: integer >= boolean

Я чувствую, что я на неправильном пути, хотя. Как я могу построить этот запрос, пожалуйста

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не указываете значение для оператора В, который возвращает логическое значение, указывающее, находится ли значение в результатах вашего оператора SELECT.

Самым простым изменением вашего запроса для его работы будет:

SELECT COUNT(*) FROM table_name 
WHERE column_1 + column_2 >= 3 
AND id IN(
  SELECT id FROM table_name 
  WHERE id = 16 AND (name = 'Richard')
  ORDER BY column_3 DESC LIMIT 10
);

Однако правильный подход в случае, если table_name фактически используется дважды, будет следующим:

SELECT COUNT(*) FROM table_name
WHERE id = 16 AND (name = 'Richard')
AND column_1 + column_2 >= 3
ORDER BY column_3 DESC LIMIT 10;

Спасибо, Матиас, очень помог, я тоже вижу, где я ошибся, хорошее объяснение

Richlewis 08.04.2019 22:21

Другие вопросы по теме