簡體   English   中英

PostgreSQL腳本,用於查找有人被召喚多少天

[英]PostgreSQL Script For Finding How Many Days Ago Someone Was Called

我是第一次使用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。 Clients(id)是Calls列clientid的外鍵。 呼叫有7列,分別是'id','clientname', 'clientphone', 'clientid','createdAt','updatedAt','overview'. 'createdAt' 'updatedAt' 'createdAt''updatedAt'是帶有時區的時間戳。 'id'是主鍵。 除了clientid和Clients(id)外,沒有其他列相關。

要以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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM