我的查詢目前是:如何使用「group by」和三列數據?
SELECT x, MAX(z) AS mz, y FROM my_table GROUP BY x
列x和Mz分別爲預期的返回,但最後一列,Y,不與其他兩個匹配。換句話說,我希望「y」列與x列當前的匹配mz列。我該如何解決這個問題?
更新:對不起,問題不是很清楚。我想執行以下查詢:
SELECT * FROM(SELECT X,MAX(Z)採用 MZ FROM MY_TABLE GROUP BY x)的右 JOIN(選擇Y,MAX(Z)採用MZ FROM MY_TABLE GROUP BY Y)b關於a.mz = b.mz
,而不必使用3個SELECT語句(也許這不是什麼大不了的事,但它似乎是低效的查詢給我。但我在SQL查詢很新,所以我不知道。)
更新#2:讓我說我的表看起來像E本:
-------------------
| x | y | z |
-------------------
| 45 | h | 3 |
| 23 | c | 5 |
| 45 | e | 9 |
| 23 | b | 12 |
| 45 | x | 36 |
| 33 | s | 44 |
| 33 | p | 78 |
-------------------
我想返回以下內容:
-------------------
| x | y | z |
-------------------
| 23 | b | 12 |
| 45 | x | 36 |
| 33 | p | 78 |
-------------------
您是否認爲匹配?無法理解你想要什麼。 – Eduardo 2010-01-15 15:33:11
我相信你需要擴展你的問題。例如,描述這些列代表什麼。 – tafa 2010-01-15 15:34:34
你想要另一個組?請擴展並舉個例子!!! – gbianchi 2010-01-15 15:36:47