SELECT h11, HA11
FROM florin.h11
WHERE (3>d1 AND 3<d2) OR (3>d1 AND 3=d2 AND id=MAX(id))
UNION (3=d1 AND 3<d2 AND id=MIN(id));
這裏我表stucture的截圖: 如何通過聚合函數過濾MySQL SELECT?
SELECT h11, HA11
FROM florin.h11
WHERE (3>d1 AND 3<d2) OR (3>d1 AND 3=d2 AND id=MAX(id))
UNION (3=d1 AND 3<d2 AND id=MIN(id));
這裏我表stucture的截圖: 如何通過聚合函數過濾MySQL SELECT?
一是錯誤的事情是
如果林是表,然後只寫「選擇H11,HA11從林」,不寫列名。
二錯誤的事情是
所以,火查詢像
select h11, HA11
from florin
where (3 > d1 and 3 < d2) or (3 > d1 and 3 = d2 and id = MAX(id))
union
select h11, HA11
from florin
where (3 = d1 and 3 < d2 and id = MIN(id))
這裏可以此查詢不返回預期的結果,但是這是我的想象,你想這種類型的查詢。
錯誤的第三件事是你可能想要使用max(id)的子查詢,但是我不知道你的目標是什麼。 – MJB
我想你會喜歡做的是這樣的:
SELECT h11, HA11
FROM florin.h11
WHERE (3>d1 AND 3<d2)
OR (3>d1 AND 3=d2 AND id = (SELECT MAX(t2.id)
FROM florin.h11 AS t2))
OR (3=d1 AND 3<d2 AND id = (SELECT MIN(t3.id)
FROM florin.h11 AS t3));
有超過一件事不對您的查詢。你不能像使用MAX那樣使用'MAX',而且如果沒有另一個'SELECT',你就不能使用'UNION'。請編輯您的問題以準確描述您希望查詢生成的內容。 –
你想實現什麼?你的預期產出是多少? – geffchang
'3> d1 AND 3 3' –