1

私は SQL の大物ではないので、この質問がばかげていないことを願っていますが、まだ答えを見つけることができませんでした。

次のようなテーブルがあります。

LastUpdate                       |  TheValue
-------------------------------------------------
2013-06-25 06:44:18.530          |  1
2013-06-25 06:59:18.500          |  7
2013-06-25 12:51:18.530          |  3
2013-06-26 07:44:18.530          |  5
2013-06-26 09:44:18.530          |  9
2013-06-28 08:44:18.530          |  0
2013-06-28 11:44:18.530          |  1

その結果、次の値を持つ毎日の最後のエントリが必要です。

LastUpdate                       |  TheValue
-------------------------------------------------
2013-06-25 12:51:18.530          |  3
2013-06-26 09:44:18.530          |  9
2013-06-28 11:44:18.530          |  1

ヒントはありますか?

4

2 に答える 2

4

クエリ:

SELECT t1.*
FROM Table1 t1
WHERE t1.LastUpdate = (SELECT MAX(t2.LastUpdate) 
                       FROM Table1 t2
                       WHERE CAST(t1.LastUpdate AS DATE) = 
                             CAST(t2.LastUpdate AS DATE))

また:

SELECT a.*
FROM(SELECT t1.*,
     ROW_NUMBER() OVER(PARTITION BY CAST(t1.LastUpdate  AS DATE)  ORDER BY t1.LastUpdate DESC)  tt
     FROM Table1 t1)a 
WHERE a.tt = 1

結果:

|                  LASTUPDATE | THEVALUE |
------------------------------------------
| June, 25 2013 12:51:18+0000 |        3 |
| June, 26 2013 09:44:18+0000 |        9 |
| June, 28 2013 11:44:18+0000 |        1 |
于 2013-07-03T07:08:36.363 に答える