查询本次以及上次记录同时显示
来源:互联网 发布:tourex b2b2c源码 编辑:程序博客网 时间:2024/04/30 07:31
具体见下:
表中内容
名称 地点 日期
--------------------------------------
bbb 江苏 2016-06-01 16:30:28
aaa 河南 2016-06-01 16:29:01
bbb 河北 2016-05-30 06:35:24
aaa 江苏 2016-05-30 10:39:28
aaa 河北 2016-04-27 11:33:49
查询【2016-05-30】到【2016-06-01】期间的所有对应名称的地点、日期、上次地点、上次日期
希望的结果如下所示:
名称 地点 日期 上次地点 上次日期
-------------------------------------------------------------------
aaa 河南 2016-06-01 16:29:01 江苏 2016-05-30 10:39:28
aaa 江苏 2016-05-30 10:39:28 河北 2016-04-27 11:33:49
bbb 江苏 2016-06-01 16:30:28 河北 2016-05-30 06:35:24
bbb 河北 2016-05-30 06:35:24
------------------------------------------------------------------------------------
DECLARE @bt DATETIME='2016-05-30';
DECLARE @et DATETIME='2016-06-01';
SET @et=DATEADD(d,1,@et);
;WITH testSource(名称,地点,日期) AS (
SELECT 'bbb','江苏','2016-06-01 16:30:28' union all
SELECT 'aaa','河南','2016-06-01 16:29:01' union all
SELECT 'bbb','河北','2016-05-30 06:35:24' union all
SELECT 'aaa','江苏','2016-05-30 10:39:28' union all
SELECT 'aaa','河北','2016-04-27 11:33:49'
)
,t AS (
SELECT *,rn=ROW_NUMBER()OVER(PARTITION BY 名称 ORDER BY 日期 desc)
FROM testSource
)
SELECT t1.地点,t1.日期,t2.地点 上次地点,t2.日期 上次日期
FROM t t1
LEFT JOIN t t2 ON t1.名称=t2.名称 AND t1.rn=t2.rn-1
WHERE t1.日期>=@bt AND t1.日期<@et
ORDER BY t1.名称,t1.rn
- 查询本次以及上次记录同时显示
- 查看Linux重启记录以及本次运行时长的各种方法
- Windows上次系统关机时间与本次系统运行时间
- Android 本次Toast取消上次的Toast的思路
- PDF 记录上次位置
- 记录上次访问时间
- Jquery 查询数据库记录进行显示在FlexiGrid 以及前后台的值传递、对象传递
- 数据库查询记录多行多列显示
- 如何实现EditText的历史记录功能(关闭后再次打开显示上次的记录)?
- 每天一点记录(本次求教)
- 记录您上次访问时间
- Cookie存取上次浏览记录
- cookie记录上次访问时间
- 问题记录 170228 viewpager同时显示前后,即同时显示三张图
- 使用limit查询的同时取得总的记录数:
- 保存数据同时查询保存数据记录的ID
- MySQL查询分页,同时获取总记录数
- 如何读取Windows系统事件日志(获得上次关机时间、本次开机时间等)
- BootStrap Table 重写API实现 可对列选择性的搜索
- Java集合类解析
- RecylerView基本使用
- js location使用范例
- Java redis demo List<User>
- 查询本次以及上次记录同时显示
- fragment使用心得
- C# Access 里如何判断字符串里是不是包含数字
- WSDL详解
- JavaScript 数组方法大全
- 【杭电oj】5477 - A Sweet Journey(水)
- PAT L2-006. 树的遍历(二叉树重构)
- 表模型改造
- iOS项目代码行数统计