• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

很着急的用一条MYSQL语句,帮帮忙

mysql 搞代码 7年前 (2018-05-31) 163次浏览 已收录 0个评论

很着急的用一条mysql语句,各位高手帮帮忙
各位高人,看能实现不。
这个表有4个字段 ,id(int), nameID(int) ,startDate(datetime),endDAT(datetime)
插入好多条数据,有的人可能有多条数据,我要实现的功能是,用一条语句,把每个人的时间间隔总和计算出来,然后按照每个人的时间间隔总和对人员(nameID)进行排序,这个日期都是要精确到秒的。我水平不行,试着用DATEDIFF,TIMEDIFF计算经过的秒数都不准确,高手指点迷津,真捆扰死了

id(int), nameID(int) ,startDate(datetime),endDAT(datetime)
1 ww 1899-12-10 00:00:00 1900-12-15 00:00:00
2 zz 1899-12-15 00:00:01 1899-12-19 00:02:00
3 ww 1899-12-15 10:00:03 1899-12-15 10:00:03
4 ee 1899-12-15 00:00:01 1899-12-19 00:02:00

——解决方案——————–

SQL code

 select nameID,sum(UNIX_TIMESTAMP(endDAT)-UNIX_TIMESTAMP(startDate)) from 这个表 group by nameID order by 3 desc; 
------解决方案--------------------
你的日期怎么都是 1900 年之前的啊??
------解决方案--------------------

SQL code

 select nameID,sum(timestampdiff(second,starttime,endtime)) from 这个表 group by nameID 
------解决方案--------------------
转换成TIMESTAMP类型,这样就可以计算啦。
1899-12-19 应该是台湾的年份吧 :)
------解决方案--------------------
SELECT TIMEDIFF('1900-12-19 12:45:06','1900-12-19 10:00:05');
 
-----------------------------------------------
02:45:01

这样怎么不对了
------解决方案--------------------
应该没错啊,你觉得有所是不是因为
'1900-02-27',
'1900-02-28',
'1900-02-29', ---> 这天不存在(除了在Excel里),1800,1900,2100都不是闰年
'1900-03-01'

欢迎大家阅读《很着急的用一条MYSQL语句,帮帮忙》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:很着急的用一条MYSQL语句,帮帮忙
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址