Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 错误:语法错误位于或接近“0”&引用;_Postgresql - Fatal编程技术网

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或者只是。。。