Postgresql 错误:语法错误位于或接近“0”&引用;
请解决此查询Postgresql 错误:语法错误位于或接近“0”&引用;,postgresql,Postgresql,请解决此查询 select to_char(date_trunc('day',create_time),'DD Month YYYY') as date, to_char(min(create_time),'HH24:mi') as login_time where login_status = 1, to_char(max(create_time),'HH24:mi') as login_out where login_status = 0 from user
select
to_char(date_trunc('day',create_time),'DD Month YYYY') as date,
to_char(min(create_time),'HH24:mi') as login_time where login_status = 1,
to_char(max(create_time),'HH24:mi') as login_out where login_status = 0
from
users.access_log
where
user_id = 1010
group by
user_id, actionlink_id, date_trunc('day', create_time)
在“,”处或附近获取错误
不知道如何在char函数中写入where条件。您需要的是where,而不是where:
select
to_char(date_trunc('day',create_time),'DD Month YYYY') as date,
case when login_status = 1 then to_char(min(create_time),'HH24:mi') end as login_time,
case when login_status = 0 then to_char(max(create_time),'HH24:mi') end as login_out
from
users.access_log
where
user_id = 1010
group by
user_id, actionlink_id, date_trunc('day', create_time)
您需要一个,而不是一个,其中:
select
to_char(date_trunc('day',create_time),'DD Month YYYY') as date,
case when login_status = 1 then to_char(min(create_time),'HH24:mi') end as login_time,
case when login_status = 0 then to_char(max(create_time),'HH24:mi') end as login_out
from
users.access_log
where
user_id = 1010
group by
user_id, actionlink_id, date_trunc('day', create_time)
使用
join
将两个登录和注销行合并在一起:
select
to_char(date_trunc('day',create_time),'DD Month YYYY') as date,
to_char(min(a.create_time),'HH24:mi') as login_time,
to_char(max(b.create_time),'HH24:mi') as login_out
from users.access_log a
left join users.access_log b on b.user_id = a.user_id
and b.login_status = 0
and date_trunc('day', b.create_time) = date_trunc('day', a.create_time)
and b.actionlink_id = a.actionlink_id
where a.user_id = 1010
and a.login_status = 1
group by a.user_id, a.actionlink_id, date_trunc('day', a.create_time)
使用
join
将两个登录和注销行合并在一起:
select
to_char(date_trunc('day',create_time),'DD Month YYYY') as date,
to_char(min(a.create_time),'HH24:mi') as login_time,
to_char(max(b.create_time),'HH24:mi') as login_out
from users.access_log a
left join users.access_log b on b.user_id = a.user_id
and b.login_status = 0
and date_trunc('day', b.create_time) = date_trunc('day', a.create_time)
and b.actionlink_id = a.actionlink_id
where a.user_id = 1010
and a.login_status = 1
group by a.user_id, a.actionlink_id, date_trunc('day', a.create_time)
事实上,这是工作正常,但我想登录和注销时间应该在同一行的日期。请,你能再解决一次吗?@PrabhudevVatnal:这就是所谓的问题,或者请看一看关于这个问题的许多现有答案that@a_horse_with_no_name或者只是…事实上,这是工作的罚款,但我想登录和注销时间应该在同一行的日期。请,你能再解决一次吗?@PrabhudevVatnal:这就是所谓的问题,或者请看一看关于这个问题的许多现有答案that@a_horse_with_no_name或者只是。。。