2013-10-01 33 views
0

(對不起英語不好,技能差) 您好!我有一個mysql數據庫,它包含四個列和一個cron作爲腳本,每10分鐘請求一個用戶的狀態。 數據庫列:在特定日期(mysql-php)中計算特定值的最簡單方法是什麼?

ID UID STATUS CHECK_AT 
  • ID - 只是一個序列號(1,2,3等)。每次腳本寫入數據庫時​​,數字都會增長。
  • UID - 鍵值。假設它是用戶的ID。所有DB包含約3-5個不同的UID
  • STATUS - 值爲1或0.假設1在線,0爲脫機。在線狀態超時時間爲10分鐘。
  • CHECK_AT - 時間和腳本工作的日期,如2013年10月1日0點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)的日期。 你能給我一些建議嗎?

回答

0

,你可以在WHERE子句添加您的條件,如:

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

OR

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

** ** DB_NAME應該是** ** TABLE_NAME! –

相關問題