2015-01-09 45 views
1
SELECT MAX(issue) AS issue_one FROM issue_list 
WHERE issue NOT IN (SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46); 

這個查詢有什麼問題。它說。這個版本的MySQL還不支持'LIMIT & IN/ALL/ANY/SOME subquery'這個版本的MySQL尚不支持'LIMIT&IN/ALL/ANY/SOME子查詢'

我想在這裏做的事情是從issue_list表中取得問題的最大值忽略前46行。

如何做到這一點?

+0

你的版本? – segarci

+0

我的mysql的語言是mysql 5.6.17 – roman

+0

_「這個版本的MySQL還不支持'LIMIT&IN/ALL/ANY/SOME子查詢'」_那麼你的問題是如何繞過this_? –

回答

2

由於Mihai在他的評論中提到:嘗試在另一個子選擇中包裝子選擇。看起來很髒,但與您的原始查詢非常接近。因此:

SELECT MAX(issue) AS issue_one 
FROM issue_list 
WHERE issue NOT IN 
(SELECT issue from 
(SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46) x 
); 
+0

謝謝你的工作。 你能否給我建議我在這種情況下做什麼? 謝謝。 – roman

+0

@ user2745337每個子查詢都需要一個別名,本質上是一個名稱,因爲它實現了子查詢,也就是將其視爲一個表。 – Mihai

0

我從來沒有得到任何形式限制在子查詢中工作。那麼,什麼對我的作品......

  1. 創建你的情況,這樣的限制或其他限制子查詢的視圖是限制關鍵字

    Create View viewIssue46 as SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46;

  2. 寫入查詢像

    SELECT MAX(issue) AS issue_one FROM issue_list WHERE issue NOT IN (select * from viewIssue46)

this usu通過輕鬆解決這個問題甚至更復雜的查詢,再加上你可以在視圖和主查詢中使用索引。

相關問題