我有一个工作查询,按硬件模型和结果对数据进行分组,但问题是有很多"结果".我试图将其减少到"如果结果= 0然后保持为0,否则将其设置为1".这通常有效,但我最终得到:
day | name | type | case | count
------------+----------------+------+------+-------
2013-11-06 | modelA | 1 | 0 | 972
2013-11-06 | modelA | 1 | 1 | 42
2013-11-06 | modelA | 1 | 1 | 2
2013-11-06 | modelA | 1 | 1 | 11
2013-11-06 | modelB | 1 | 0 | 456
2013-11-06 | modelB | 1 | 1 | 16
2013-11-06 | modelB | 1 | 1 | 8
2013-11-06 …
Run Code Online (Sandbox Code Playgroud) 我正在使用Postgres(PL/pgSQL)开发一个算法,我需要计算两个时间戳之间的工作小时数,考虑到周末不工作,剩下的时间只计算在上午8点到下午15点.
例子:
从12月3日下午14点到12月4日上午9点应该计算2个小时:
3rd = 1, 4th = 1
Run Code Online (Sandbox Code Playgroud)从12月3日下午15点到12月7日上午8点,应该计算8小时:
3rd = 0, 4th = 8, 5th = 0, 6th = 0, 7th = 0
Run Code Online (Sandbox Code Playgroud)考虑小时分数也会很棒.