※ 引述《OTZ (......囧)》之銘言:
: 資料表 tag_received
: id , signal , time
: c1 104 2008-08-06 17:48:29
: c2 105 2008-08-06 17:48:30
: c3 106 2008-08-06 17:48:30
: c1 107 2008-08-06 17:48:32
: c2 108 2008-08-06 17:48:33
: c3 208 2008-08-06 17:48:35
: c1 209 2008-08-06 17:48:38
: c2 210 2008-08-06 17:48:40
: c3 211 2008-08-06 17:48:42
: c1 212 2008-08-06 17:48:43
: 想要取c1,c2,c3最新的資料出來
: c1 212 2008-08-06 17:48:43
: c2 210 2008-08-06 17:48:40
: c3 211 2008-08-06 17:48:42
: 用的語法是
: SELECT id, signal, max(time)time FROM tag_received GROUP BY id;
: 出來的時間是最新的沒錯, 但是 signal 卻是第一筆的數值
: c1 104 2008-08-06 17:48:43 << 時間是最新的 , 但是 signal 卻是最舊一筆
: c2 105 2008-08-06 17:48:40
: c3 106 2008-08-06 17:48:42
: 請問是用的語法錯誤 , 還是有什麼沒注意到的地方呢 ? 謝謝
select id,signal,time
from tag_received t1
where time in (select max(time) from tag_received t2 where t1.id=t2.id)
這樣就行了^^
--
http://hasio.vgocities.net/blog/index.php 我的部落格
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.194.122