0
我用这个SQL在同一行同时显示:如何选择Min和下一步敏和相关查询
/****** Select Min and Next Min with Bike ID ******/
SELECT
t.[bike_id]
,min(t.[start_date]) as Min_Date
,(SELECT min([start_date]) From trip Where [start_date] > (SELECT min([start_date]) From trip)) as Next_Min_Date
FROM [dbo].[trip] t
Group By t.[bike_id]
Having t.[bike_id] < '15'
,得到了这样的结果:
+---------+-------------------------+-------------------------+
| bike_id | Min_Date | Next_Min_Date |
+---------+-------------------------+-------------------------+
| 9 | 2013-08-29 12:02:00.000 | 2013-08-29 09:24:00.000 |
| 10 | 2013-09-01 13:47:00.000 | 2013-08-29 09:24:00.000 |
| 11 | 2013-08-29 20:11:00.000 | 2013-08-29 09:24:00.000 |
| 12 | 2013-08-30 17:15:00.000 | 2013-08-29 09:24:00.000 |
| 13 | 2013-08-29 10:13:00.000 | 2013-08-29 09:24:00.000 |
| 14 | 2013-08-31 11:55:00.000 | 2013-08-29 09:24:00.000 |
+---------+-------------------------+-------------------------+
显然子查询是不相关的 - 但我不知道如何使这是一个相关子查询
我想要的是下一个最小值对于每个自行车ID不只是第二最小值在ta ble
谢谢 - 所以我试了这个,它的工作。大!你能否指点一些资源来解释/分割你的代码?仅供参考,它抱怨了很多关于多部分标识符,所以我不得不把它们全部从你的答案中拿出来供未来的人看... – kiltannen
你知道一个资源,它解释了** Over(Partition ** part你的select语句正在工作吗?我想了解这段代码实际上是如何工作的:) – kiltannen
该文档是启动https://msdn.microsoft.com/en-us/library/ms186734.aspx的好地方 –