我有以下兩個表(帶一些樣本DATAS)合併查詢到一個查詢
日誌:
ID | SETID | DATE ======================== 1 | 1 | 2010-02-25 2 | 2 | 2010-02-25 3 | 1 | 2010-02-26 4 | 2 | 2010-02-26 5 | 1 | 2010-02-27 6 | 2 | 2010-02-27 7 | 1 | 2010-02-28 8 | 2 | 2010-02-28 9 | 1 | 2010-03-01
STATS:
ID | OBJECTID | FREQUENCY | STARTID | ENDID ============================================= 1 | 1 | 0.5 | 1 | 5 2 | 2 | 0.6 | 1 | 5 3 | 3 | 0.02 | 1 | 5 4 | 4 | 0.6 | 2 | 6 5 | 5 | 0.6 | 2 | 6 6 | 6 | 0.4 | 2 | 6 7 | 1 | 0.35 | 3 | 7 8 | 2 | 0.6 | 3 | 7 9 | 3 | 0.03 | 3 | 7 10 | 4 | 0.6 | 4 | 8 11 | 5 | 0.6 | 4 | 8 7 | 1 | 0.45 | 5 | 9 8 | 2 | 0.6 | 5 | 9 9 | 3 | 0.02 | 5 | 9
每天都有新的日誌上不同的分析對象集並存儲在表LOGS中。 在其他進程中,將對包含在這些集合中的對象計算一些統計信息,並將結果存儲在表STATS中。這些統計數據是通過幾個日誌(由STARTID和ENDID列標識的)計算得出的。
那麼,什麼可能是SQL查詢,會給我所有對象的最新計算統計與相應的日誌日期。
在給定的例子中,結果列將是:
OBJECTID | SETID | FREQUENCY | STARTDATE | ENDDATE ====================================================== 1 | 1 | 0.45 | 2010-02-27 | 2010-03-01 2 | 1 | 0.6 | 2010-02-27 | 2010-03-01 3 | 1 | 0.02 | 2010-02-27 | 2010-03-01 4 | 2 | 0.6 | 2010-02-26 | 2010-02-28 5 | 2 | 0.6 | 2010-02-26 | 2010-02-28
因此,最近對組1的統計信息被計算原木從02月27日至3月1日,而對於組2的統計信息被計算從2月26日至feb 28. 對象6不在結果行中,因爲在最後一段時間內沒有任何屬性。
最後一件事,我使用MySQL。
任何想法?
+1對於具有良好樣本數據的明確公式化問題。 – 2010-03-08 11:39:55
對於對象4,5,你的0.35是一個錯字嗎? (它應該是0.6?) – Patrick 2010-03-08 14:55:37