2010-11-16 138 views
0
select max(qtd) 
from (select count(int_re_usu) as qtd from tb_questionario_voar_resposta) 

爲什麼這個查詢不工作? 我想從所有計數SQL語法不正確

它說,不正確的語法附近「)」

任何ideias檢索最大值?

+4

查詢本身沒有什麼意義。子查詢將始終返回一行(表中總行數),因此從一行中選擇最大值將始終返回此行... – 2010-11-16 16:25:36

+1

我認爲您可能在子查詢中缺少GROUP BY子句。寫入的查詢與子查詢「select count(int_re_usu)as tt_questionario_voar_resposta」中的qtd一樣「 – 2010-11-16 16:27:04

+0

就像文森特說的 - 這沒什麼意義 - 你試圖通過使用子查詢來完成什麼? – 2010-11-16 16:27:35

回答

3

您需要在派生表的別名:

select max(qtd) 
from (
    select count(int_re_usu) as qtd 
    from tb_questionario_voar_resposta 
) a 

但是文森特指出,剛剛返回一行,我認爲你是缺少一個組。你真的可以只是做:

select max(count(int_re_usu)) as qtd 
    from tb_questionario_voar_resposta 
    group by SomeColumn 
+0

「a」是別名? – Pacane 2010-11-16 16:25:36

+0

@Pacane:是的,沒錯。 – RedFilter 2010-11-16 16:26:50

+0

根據RDBMS,您可能無法使用嵌套聚合函數。但是,無論如何,從計數中選擇最大值是沒有用的(沒有GROUP BY)。 – 2010-11-16 16:27:05

0

試試這個你缺少一組由我覺得和使用別名中

 select 
       max(d1.qtd) 
     from 
     (
      select 
       count(int_re_usu) as qtd 
      from tb_questionario_voar_resposta 
     group by qtd 
     ) as d1 
group by d1.qtd 
+0

你想通過在子查詢中放置組(或者只是刪除它)。但是由於OP沒有提到它,所以很難知道如何使用它。 – 2010-11-16 16:27:52

+0

是的,你的權利..固定它謝謝。我只是想建議它,我不知道OP要什麼.. – Vishal 2010-11-16 16:31:34