Выбор столбца из результата другого выбора

У меня есть этот sql-запрос:

select COUNT(batch_id) AS cc FROM tbl_associate_593932 WHERE induction_result>50 GROUP BY batch_id

Этот запрос выполняется правильно только с одним столбцом cc. Теперь я хочу получить максимальное значение из значений в этом столбце. Я попробовал что-то вроде этого:

select max (cc) from  (select COUNT(batch_id) AS cc FROM tbl_associate_593932 WHERE induction_result>50 GROUP BY batch_id);

Однако в SQL Server это дало мне ошибку: неправильный синтаксис около ';'. Ожидание AS, ID или Quoted_ID

и другая ошибка Недопустимое имя столбца 'cc'.

Как это сделать в SQL Server. Можно ли это сделать в Oracle?

0
nl ja de
В соответствии с документацией использование подзапроса в качестве производной таблицы означает, что вам нужно дать производной таблице псевдоним: FROM (...) AS tbl; Вот почему ошибка говорит вам, что ожидается AS .
добавлено автор Pondlife, источник
Просто добавьте псевдоним ... BY batch_id) T;
добавлено автор Alex K., источник

2 ответы

Вы можете сделать это:

WITH CTE
AS
(
   select COUNT(batch_id) AS cc 
   FROM tbl_associate_593932 
   WHERE induction_result > 50 
   GROUP BY batch_id
) 
SELECT MAX(cc)
FROM CTE;

Или:

SELECT TOP(1)
  COUNT(barch_id) AS cc
FROM tbl_associate_593932 
WHERE induction_result > 50 
GROUP BY batch_id
ORDER BY cc DESC;
0
добавлено
Эй, этот первый запрос будет работать в Oracle, является ли этот синтаксис для Oracle?
добавлено автор Mahesha999, источник
@ Mahesha999 Да, оракул поддерживает CTE.
добавлено автор Mahmoud Gamal, источник

Use: select max (t.cc) from (select COUNT(batch_id) AS cc FROM tbl_associate_593932 WHERE induction_result>50 GROUP BY batch_id) as t;

0
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)