mysql将多条记录合并成一条存储在临时表中

ludewig
博客专家认证
2013-12-19 11:58:41
表table1:
UserID DateTime DevID
a 2013/12/19 11:32 1
a 2013/12/19 11:34 2
b 2013/12/19 10:22 1
b 2013/12/19 11:20 4
c 2013/12/18 20:30 3
c 2013/12/19 8;00 4

想要得到如下查询结果
UserID DateTime1 DevID1 DateTime2 DevID2
a 2013/12/19 11:32 1 2013/12/19 11:34 2
b 2013/12/19 10:22 1 2013/12/19 11:20 4
c 2013/12/18 20:30 3 2013/12/19 8;00 4
即将UserID相同、DevID不同且时间相隔最近的两条数据合并成同一条记录。
我的想法是创建一个临时表,通过判断将符合条件的记录存储到临时表中,然后从临时表中查询得到结果,但不知道如何写SQL语句,请各位大神指点
...全文
293 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2013-12-20
  • 打赏
  • 举报
回复
增加唯一标识的字段ID,对相同UserID组中的记录进行编号,再用生成交叉表的方法即可。
知道就是你 2013-12-20
  • 打赏
  • 举报
回复
使用程序判断比较简单,如果非要使用SQL脚本实现的话,建议给表添加一个临时的主键,在存储过程中遍历游标,追加实现最终效果;如果结果并不是只使用一次的话,建议创建相关表,使结果永久性保存。
帝瓜 2013-12-20
  • 打赏
  • 举报
回复
楼上说的有理
WWWWA 2013-12-19
  • 打赏
  • 举报
回复
每个UserID只有2条记录?表中有无唯一标识的字段?建议用语言代码来完成

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧