首先我會告訴你我的問題所屬的示例表,然後我會問這個問題。混淆SELECT語句
[my_fruits]
fruit_name | fruit_id | fruit_owner | fruit_timestamp
----------------------------------------------------------------
Banana | 3 | Timmy | 3/4/11
Banana | 3 | Timmy | 4/1/11
Banana | 8 | Timmy | 5/2/11
Apple | 4 | Timmy | 2/1/11
Apple | 4 | Roger | 3/4/11
現在我想運行一個查詢,只選擇fruit_name,fruit_id和fruit_owner值。我只想得到每個水果一行,我想要它決定的方式是最新的時間戳。例如在此表上完美的查詢將返回:
[my_fruits]
fruit_name | fruit_id | fruit_owner |
----------------------------------------------
Banana | 8 | Timmy |
Apple | 4 | Roger |
我試着查詢:
select max(my_fruits.fruit_name) keep
(dense_rank last order by my_fruits.fruit_timestamp) fruit_name,
my_fruits.fruit_id, my_fruits.fruit_owner
from my_fruits
group by my_fruits.fruit_id, my_fruits.fruit_owner
現在有了這個問題是回報基本上不同的水果名稱,水果ID和水果的業主。
這將返回重複,如果有2+ fruit_name記錄相同的時間戳值 – 2011-03-01 20:19:56
是的,但它會正確地返回2條記錄,如果2個不同fruit_owners有最新fruit_timestamp。 – 2011-03-01 20:51:50
這也不是什麼OP希望 – 2011-03-01 21:50:04