0

私はこのSQLクエリを持っています:

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

このクエリは、1 つの列 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 が必要です

および別のエラー Invalid column name 'cc'.

SQL Server でこれを行うにはどうすればよいですか。Oracleでも同じことができますか?

4

2 に答える 2

0

使用: 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;

于 2013-01-16T14:56:43.017 に答える
0

あなたはこれを行うことができます:

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;
于 2013-01-09T17:50:25.940 に答える