mysql每20分钟的数据进行一次group_concat()的疑问?

HailonCCBD 2016-10-25 08:10:11
有如图的数据表,我希望对每一个用户的20分钟的action行为组成一个序列,最终就得到一个用户所有间隔20分钟的行为序列。,现在对这个间隔20分钟的操作不是很清楚,现在只能得到如图的结果,用户所有的action都组合到一起了,没有按时间分开时间问题怎么处理?谢谢
...全文
421 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdcopy2001 2016-10-27
  • 打赏
  • 举报
回复
既然你已经实现了部分要求只不过不能每20分钟分个组,试试这个, SELECT MOD(UNIX_TIMESTAMP(NOW())+28800,86400) div 3600, 然后你是要20分钟,那么把3600改成1200就好 添加个伪列,MOD(UNIX_TIMESTAMP(hi_time)+28800,86400) div 1200, 用hl_name和这个伪列分组。
LongRui888 2016-10-26
  • 打赏
  • 举报
回复
没有看明白你要的效果是什么。能举个简单的例子吗
zhangsheng_1992 2016-10-26
  • 打赏
  • 举报
回复
首先我想知道你的20分钟的定义 是从今日的0点0分0秒开始每隔20分钟 还是从用户开始操作为止 每隔20分钟? 如果是前者 你可以预先知道今天的24*3 一共72个时间段的区间 加上where条件查询 最后合并即可 如果是后者 你首先需要查询出他最开始操作和最后操作的时间 然后计算出查询区间 然后查询 建议分多条语句 利用临时表完成 当然借助脚本或者存储过程最简单不过 希望能帮到你
--小F-- 2016-10-26
  • 打赏
  • 举报
回复
建议去其他数据库版的MYSQL版问问。
HailonCCBD 2016-10-26
  • 打赏
  • 举报
回复
引用 5 楼 yupeigu 的回复:
[quote=引用 4 楼 u011442532 的回复:] [quote=引用 3 楼 yupeigu 的回复:] 没有看明白你要的效果是什么。能举个简单的例子吗
像第一个图中,有一个用户 ,在不同的时间有一个action操作,然后我想以20分钟为一组,把的行为变成序列。就成了 用户名,action1,action2,action3......这些action是20分钟内的action。这样一个用户如果有五组的话,那就得到他的五条action序列。这样表述的清楚么?[/quote] 那这20分钟怎么计算呢? 从0-20,21-40,41-60 吗[/quote]可以从这个用户操作的开始时间,到结束时间,这个时间中每20分钟分组
LongRui888 2016-10-26
  • 打赏
  • 举报
回复
引用 4 楼 u011442532 的回复:
[quote=引用 3 楼 yupeigu 的回复:] 没有看明白你要的效果是什么。能举个简单的例子吗
像第一个图中,有一个用户 ,在不同的时间有一个action操作,然后我想以20分钟为一组,把的行为变成序列。就成了 用户名,action1,action2,action3......这些action是20分钟内的action。这样一个用户如果有五组的话,那就得到他的五条action序列。这样表述的清楚么?[/quote] 那这20分钟怎么计算呢? 从0-20,21-40,41-60 吗
HailonCCBD 2016-10-26
  • 打赏
  • 举报
回复
引用 3 楼 yupeigu 的回复:
没有看明白你要的效果是什么。能举个简单的例子吗
像第一个图中,有一个用户 ,在不同的时间有一个action操作,然后我想以20分钟为一组,把的行为变成序列。就成了 用户名,action1,action2,action3......这些action是20分钟内的action。这样一个用户如果有五组的话,那就得到他的五条action序列。这样表述的清楚么?

56,687

社区成员

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

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