PostgreSQL脚本用于查找有多少天被调用的人

时间:2016-06-14 19:51:47

标签: sql performance postgresql

我第一次使用PostgreSQL,我有点陷入任务。我试图找出多少天前有人,比如客户中的客户,是通过电话打来的。我在客户端表中创建了一个名为" lastcall"的列。我想要定义为NOW() - createdAt(其中createdAt是调用中的一个列,它是带有时区的时间戳)。从我看到的语法,这可能是合理的,但我不知道如何使它100%合法。

SELECT lastcall (NOW()-A≥0) as T
FROM Clients
WHERE A is createdAt
FROM Calls

有关将此变为现实的任何建议都表示赞赏!此外,我相信我们需要对createdAt列进行排序,以便我们可以找到最近通话和现在之间的距离 - 我也有点迷失。

此处的两个表格为ClientsCalls。客户端有60列属性来描述客户端,包括主键ID。客户端(id)是调用列clientid的外键。呼叫有7列,'id','clientname', 'clientphone', 'clientid','createdAt','updatedAt','overview'. 'createdAt''updatedAt'是带时区的时间戳。 'id'是主键。除了clientid和Clients(id)之外,没有其他列相关。

1 个答案:

答案 0 :(得分:0)

要获得postgres中的当前日期,请使用CURRENT_DATE

尝试类似这样的事情..(它假设客户端和呼叫上有一个连接列关联表格)

select current_date-lc.createdAt::date as T
from Clients c
inner join Calls lc 
on c.id=lc.clientid

根据您的更新,如果您只需要通过clientid和最后一次通话,那么您可以这样做..

select clientid,current_date-createdAt::date 
from Calls