簡體   English   中英

在特定日期(mysql-php)中計算特定值的最簡單方法是什么?

[英]What's the easiest way to count specific value in a specific date (mysql-php)?

(對不起,英語不好,技能不好),您好! 我有一個mysql數據庫,其中包含四列和一個cron作業作為腳本,每10分鍾請求一個用戶狀態。 數據庫列:

ID UID STATUS CHECK_AT
  • ID-只是一個序列號(1、2、3等)。 每次腳本將一些內容寫入數據庫時​​,數字都會增加。
  • UID-鍵值。 假設它是用戶的ID。 所有數據庫包含大約3-5個不同的UID
  • 狀態-值為1或0。假設1處於在線狀態,0處於離線狀態。 聯機狀態超時為10分鍾。
  • CHECK_AT-腳本工作的時間和日期,例如2013-10-01 00:30:01

邏輯:每隔10分鍾,腳本將檢查特定的UID(寫在其他表中)是否在線(1)或離線(0)。 我想做的是:輸出特定UID一天的摘要在線時間; 周; 月等

我想應該是基本的

select count(id) from DB_NAME where date(check_at) = '2013-10-01';

一天

select count(uid) from user_activity where date(check_at) between '2013-10-01' and '2013-10-07';

等了幾天。

但是,我的技能很低,我不知道該如何僅計算某個日期的在線時間(狀態= 1)。 你能給我一些建議嗎?

您可以在WHERE子句中添加條件,例如:

select count(id) from your_table where date(check_at) = '2013-10-01' AND status = 1;

要么

select count(uid) from user_activity where 
    date(check_at) between '2013-10-01' AND '2013-10-07'
    AND status = 1;

暫無
暫無

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

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