[英]What's the easiest way to count specific value in a specific date (mysql-php)?
(sorry for bad english and poor skill) Hello! (对不起,英语不好,技能不好),您好! I've got a mysql database which contains four columns and a cron job as a script, which requesting a status of a user every 10 minutes. 我有一个mysql数据库,其中包含四列和一个cron作业作为脚本,每10分钟请求一个用户状态。 DataBase columns: 数据库列:
ID UID STATUS CHECK_AT
Logic: every 10 minutes script is checking specific UIDs (written in other table) for online (1) or offline (0). 逻辑:每隔10分钟,脚本将检查特定的UID(写在其他表中)是否在线(1)或离线(0)。 What I;m trying to do: To output summary online time of specific UIDs for a day; 我想做的是:输出特定UID一天的摘要在线时间; week; 周; month etc 月等
I guess it should be elementary, like 我想应该是基本的
select count(id) from DB_NAME where date(check_at) = '2013-10-01';
for a one day 一天
select count(uid) from user_activity where date(check_at) between '2013-10-01' and '2013-10-07';
For a few days and so on. 等了几天。
But, my skill is to low to know, how I can count only online time (status=1) for a date. 但是,我的技能很低,我不知道该如何仅计算某个日期的在线时间(状态= 1)。 Can you give me some advices, please? 你能给我一些建议吗?
you could add your conditions in WHERE
clause like: 您可以在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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.