【发布时间】:2012-10-09 03:51:29
【问题描述】:
我有一张这样的记录表:
id timestamp dose drug_id
1 2012-10-04 09:10:54 05 2
1 2012-10-04 09:12:34 15 2
1 2012-10-04 09:15:12 20 2
1 2012-10-04 09:35:32 25 2
1 2012-10-04 09:37:34 25 2
1 2012-10-04 09:39:24 25 2
1 2012-10-04 09:42:16 35 2
1 2012-10-04 09:43:07 35 2
我要做的是选择给定药物的最后 5 个使用剂量值,所以在这种情况下,查询应该返回 35, 25, 20, 15, 05。
我知道我可以使用 TOP 和 ORDER BY 来获取最新的 5 个条目,但在这种情况下,它会返回重复项(35、35、25、25、25)。
我应该使用什么来获得我想要的输出?
【问题讨论】:
-
对了,为什么
25不在列表中? -
@JohnWoo 同样的问题,因为你可以使用
GROUP BY然后,你不能得到你要求的结果.. -
为什么不能按时间戳排序?
标签: sql sql-server tsql sql-server-2012