SQL Server组按秒间隔

时间:2015-03-05 14:22:07

标签: sql sql-server tsql

我的时间组间隔有问题。

我希望小组在90秒内完成:

datediff(second, '1990-1-1', date_creation)/90

但是有了这个:

2015-02-23 08:34:30.033
2015-02-23 08:34:30.017
2015-02-23 08:34:30.000
2015-02-23 08:34:29.987

我有这个:

8816983.0
8816983.0
8816983.0
8816982.9888888896

小组不工作:(

如何让它发挥作用?

谢谢:)

编辑1: 有楼层: 8816983 8816983 8816983 8816982

我的整个查询是:

select intcol4.codtou [CodeTour], min(b.id) MinID, max(b.id) MaxID
    from intcolbgia b
    inner join
            (select id, codtou
            from intcol004
            union
            select id, datyen
            from intcol004vs
            union
            select id, datyen
            from intcol004va
                    union
            select id, datyen
            from intcol004cdt
            union
            select id, datyen
            from intcol004cde) intcol4 on intcol4.id = b.id
    group by intcol4.codtou, datediff(second, '1990-1-1', date_creation) /90) tournees

1 个答案:

答案 0 :(得分:2)

如上所述,您的代码应该可以工作,因为SQL Server会进行整数除法。但是,您可以明确并使用floor()

group by floor(datediff(second, '1990-01-01', date_creation)/90)

您描述的行为表明您使用的是十进制值(某种类型)为“90”​​而不是整数。