免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3994 | 回复: 5
打印 上一主题 下一主题

【求助】sybase中,按照整数字段分组 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-11 10:02 |只看该作者 |倒序浏览
是这样的,有个字段是整型,就是unixtime了
我想按这个字段分组统计每天的情况,
例如
select count(1) from table where unix_time between 1312732800 and 1312819200
..........

这是某一天
基本是每天都有
那么如何实现按unix time字段分组,每天增加86400秒。

论坛徽章:
0
2 [报告]
发表于 2011-08-11 16:26 |只看该作者
就是类似excel的数据透视表的时候的分组功能

论坛徽章:
0
3 [报告]
发表于 2011-08-11 16:43 |只看该作者
用join一个连续序列吧
select count(1), o.id from table  join sysobjects on unix_time between 1312732800 +(id-1)*86400 and 1312732800+o.id*86400
where id <=10 group by o.id

这里用sysobjects只是连续序号而已,如果日期很长,自己造一个吧。日期unixtime到正常日期显示也自己处理一下就ok

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2011-08-12 09:28 |只看该作者
1312732800 是基于1970-1-1开始计算的吧?
使用dateadd函数计算出来具体的日期,再group by统计处理。

1> select dateadd(ss,1312732800,'1970-1-1')
2> go

--------------------------
        Aug  7 2011  4:00PM

(1 row affected)
1> select dateadd(ss,1312819200,'1970-1-1')
2> go

--------------------------
        Aug  8 2011  4:00PM

(1 row affected)

论坛徽章:
0
5 [报告]
发表于 2011-08-12 09:35 |只看该作者
你可以把你要的数据的结果展现给大家看,然后再想办法

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
6 [报告]
发表于 2011-08-12 10:13 |只看该作者
如果ASE15.0.2及以上的话,可以考虑使用计算列
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP