2014-09-01 74 views
-1

我做錯了什麼?
它返回以下錯誤:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
子查詢工作正常,當我獨自運行它:在子查詢上使用限制

select * from emprego 
where base in 
(
    SELECT base FROM emprego me 
    group by base 
    order by sum(TIMEDIFF(me.data_demissao,me.data_admissao)) desc 
    limit 1 
) 
+0

問題是什麼? – Jens 2014-09-01 18:47:29

+0

當它全部在一起時它不會運行,它返回錯誤「此版本的MySQL尚不支持'LIMIT&IN/ALL/ANY/SOME子查詢' – TioTorres 2014-09-01 18:50:11

+1

認爲該消息是明確的。 – Jens 2014-09-01 18:51:57

回答

0

重寫查詢與自聯接

select e.* 
from emprego e 
join 
(
    SELECT base FROM emprego me 
    group by base 
    order by sum(TIMEDIFF(me.data_demissao,me.data_admissao)) desc 
    limit 1 
) e1 
on(e.base = e1.base) 
0

試試這個

select * from emprego 
where base in 
(
    select * from 
    (
     select base from emprego me 
     group by base 
     order by sum(TIMEDIFF(me.data_demissao, me.data_admissao)) desc 
     limit 1 
    ) as t 
) 

我希望這有助於。

0

這裏是查詢的一個命題:

SELECT * 
FROM emprego E 
INNER JOIN (SELECT E2.base 
       ,SUM(TIMEDIFF(E2.data_demissao, E2.data_admissao)) AS [duree] 
      FROM emprego E2 
      GROUP BY E2.base) D ON D.base = E.base 
ORDER BY D.duree DESC 
LIMIT 1 

希望這會幫助你避免在查詢的執行過程中的錯誤。