![](/img/trans.png)
[英]How to fetch the amount spent by A Facebook Ad Account in a particular date range?
[英]How to fetch the rows with in a date range?
我對php中的sql查詢有疑問。在登錄當前日期和時間期間,會將數據庫中存儲的時間``strtotime''轉換為``strtotime''。注銷時間也輸入到數據庫中,一個人一天可以登錄多次。
我想列出最近7天的每個用戶登錄時間(每個用戶分別為每天)。我使用以下查詢
"SELECT a.user_id, b.username, a.clock_in,a.clock_out , DATEDIFF(a.clock_in,a.clock_out) FROM " . DB_PREFIX . "clock_history a left join " . DB_PREFIX . "user b on a.user_id=b.user_id WHERE clock_in between '".$prestrtime."' and '".$curren."' and clock_status=0 and b.status=1 ORDER BY id DESC "
在表格格式下方給出
id user_id clock_in clock_out clock_status
1 1 1419829200 1419829800 0
2 2 1419829200 1419851689 0
3 1 1419851633 1419851677 0
在每天使用此查詢記錄時,不能分開。 請幫助我..等待您的答復!
您可以通過MYSQL查詢計算最近7天,請參見下文
SELECT a.user_id, b.username, a.clock_in,a.clock_out ,
DATEDIFF(FROM_UNIXTIME(a.clock_in),FROM_UNIXTIME(a.clock_out))
FROM " . DB_PREFIX . "clock_history a
left join " . DB_PREFIX . "user b on a.user_id=b.user_id
WHERE clock_in between UNIX_TIMESTAMP(date_sub(now(),INTERVAL 1 WEEK)) and UNIX_TIMESTAMP(now())
and clock_status=0 and b.status=1
ORDER BY id DESC
UPDATE DATE_DIFF()
函數可用於兩個日期而非時間戳,因此可使用FROM_UNIXTIME()
函數將時間戳轉換為日期
DATEDIFF(a.clock_in,a.clock_out)
至
#it return days, if you need hours then `/24` of total days
DATEDIFF(FROM_UNIXTIME(a.clock_in),FROM_UNIXTIME(a.clock_out))
嘗試這個
SELECT a.user_id, b.username, a.clock_in,a.clock_out,
DATEDIFF(FROM_UNIXTIME(a.clock_in), FROM_UNIXTIME(a.clock_out)) as days
FROM " . DB_PREFIX . "clock_history a
LEFT JOIN " . DB_PREFIX . "user b on a.user_id=b.user_id
WHERE clock_in BETWEEN UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 7 DAY))
AND UNIX_TIMESTAMP(NOW())
AND clock_status=0 AND b.status=1
ORDER BY id DESC
這將為您提供過去7天的記錄,它使用mysql的內置函數NOW()
和DATE_SUB()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.