我有工作像這樣(MySQL的)查詢:如何使用不帶子查詢的列的MAX過濾SQL查詢?
查詢:
SELECT a, b, c, d FROM xTable WHERE d=(
SELECT MAX(d) FROM xTable WHERE uid=1
) AND c=0
樣品:
--xTable--
| a | b | c | d | uid |
| 30 | str | 20 | 32 | 1 |
| 36 | abc | 0 | 32 | 1 |
| 20 | ... | 40 | 33 | 1 |
| 19 | dsi | 0 | 34 | 1 |
| 68 |aeasd| 0 | 34 | 1 |
| 112 |3eids| 224 | 34 | 1 |
我只想用最大d(34)的行uid = X,但只有c = 0的那些。
有沒有辦法複製這個查詢沒有子查詢?
子查詢有什麼問題? – peterm
我將在一個龐大的數據庫中應用查詢,這個數據庫可能會同時發生許多插入操作,而且有些人說這些子查詢可能會在這些類型的應用程序中導致競爭條件,我應該避免它們。我不確定,但比對不起更安全。所以,我正在尋找替代品。 – Macmod
如果沒有正確的DDL和期望的結果集,我無法完全理解你的結果,但也許你應該看看事務。 – Strawberry