图通常具有包含连续流的X轴。通常,如果与另一个表的联合包含datetime,这将起作用,但是如果该日期实际上没有任何值,则导致我的图形“跳过”该日期点。
select TO_CHAR((dateAdd(day,-row_number() over(order by true), '12/8/2018
12:00:00 AM'))::datetime, 'MM/dd/yyyy') as Display, 0 as consumption, 0 as
masterconsumption
limit 7
在上面的示例中,我试图生成过去7天的时间戳。所以就像12/8/2018 | 12/7/2018 ... | 2018/12/1。
我认为提供限制是可行的,但结果总是在第一次约会的2018年12月8日回来
答案 0 :(得分:1)
这是后来遇到它的人的方法:
select date '12/8/2018 12:00:00 AM' - ('1 day'::interval)*i as Display, 0
as consumption, 0 as masterconsumption
from generate_series(0, extract(doy from date '12/8/2018 12:00:00 AM')::int
- 1) as i
limit 7
答案 1 :(得分:1)
由于选择select '12/8/2018 12:00:00 AM'
之类的标量,所以只得到一个值。将其包装到其他函数中并添加limit 7
不会增加返回的行数。返回多行的技巧是从某个表中进行选择,尽管您实际上并未从该表中指定任何列,只需添加from
子句:
select TO_CHAR((dateAdd(day,-row_number() over(order by true), '12/8/2018
12:00:00 AM'))::datetime, 'MM/dd/yyyy') as Display, 0 as consumption, 0 as
masterconsumption
from some_table_that_has_at_least_7_rows
limit 7