首页 >后端开发 >php教程 >统计今日、昨日的帖子数量,php mysql 语句 该如何书写?

统计今日、昨日的帖子数量,php mysql 语句 该如何书写?

WBOY
WBOY原创
2016-06-23 14:10:09913浏览

统计今日、昨日的帖子数量,php mysql 语句 该如何书写?急!!!


回复讨论(解决方案)

建议把表结构贴出来以供分析

你数据表的结构最好发一下,因为都不知道你的数据表帖子的时间字段是什么格式的

现举最简单的表结构如下: 如提所问,php mysql 语句该如何书写?

select count(id) from table where datetime=curdate()-1 昨天
select count(id) from table where datetime=curdate() 今天

select date_format(tb_send_date, '%Y-%m-%d') as date, count(*) as cnt from tbl_name group by to_days(tb_send_date) order by desc limit 2 

$today_rows="select count(*) from table where tb_send_date>='".date('Y-m-d 00:00:00')."' and tb_send_date<='".date('Y-m-d 23:59:59')."'";//今天$tomorrow=date("Y-m-d",strtotime("-1 day")); $tomorrow_rows="select count(*) from table where tb_send_date>='".$tomorrow." 00:00:00' and tb_send_date<='".$tomorrow." 23:59:59'";;//昨天

曾有人教我,mysql中where 子句尽量少用函数,因为会导致索引无效

$today_rows="select count(*) from table where tb_send_date>='".date('Y-m-d 00:00:00')."' and tb_send_date<='".date('Y-m-d 23:59:59')."'";//今天$tomorrow=date("Y-m-d",strtotime("-1 day")); $tomorrow_rows="select count(*) from table where tb_send_date>='".$tomorrow." 00:00:00' and tb_send_date<='".$tomorrow." 23:59:59'";;//昨天

曾有人教我,mysql中where 子句尽量少用函数,因为会导致索引无效

额,你说的where字句的函数 是sql的吧,貌似你搞错了

今天
select count(*) from table where date_format(tb_send_date,"%Y-%m-%d")=curdate() 

昨天
select count(*) from table where date_format(tb_send_date,"%Y-%m-%d")=DATE_SUB(curdate(),INTERVAL 1 DAY)


$today_rows="select count(*) from table where tb_send_date>='".date('Y-m-d 00:00:00')."' and tb_send_date<='".date('Y-m-d 23:59:59')."'";//今天$tomorrow=date("Y-m-d",strtotime("-1 day")); $tomorrow_rows="select count(*) from table where tb_send_date>='".$tomorrow." 00:00:00' and tb_send_date<='".$tomorrow." 23:59:59'";;//昨天

曾有人教我,mysql中where 子句尽量少用函数,因为会导致索引无效

额,你说的where字句的函数 是sql的吧,貌似你搞错了
你想简单化的话,最好把你的数据库改为时间戳,好比较也好处理



$today_rows="select count(*) from table where tb_send_date>='".date('Y-m-d 00:00:00')."' and tb_send_date<='".date('Y-m-d 23:59:59')."'";//今天$tomorrow=date("Y-m-d",strtotime("-1 day")); $tomorrow_rows="select count(*) from table where tb_send_date>='".$tomorrow." 00:00:00' and tb_send_date<='".$tomorrow." 23:59:59'";;//昨天

曾有人教我,mysql中where 子句尽量少用函数,因为会导致索引无效

额,你说的where字句的函数 是sql的吧,貌似你搞错了
你想简单化的话,最好把你的数据库改为时间戳,好比较也好处理


$today_rows="select count(*) from table where tb_send_date>='".date('Y-m-d 00:00:00')."' and tb_send_date<='".date('Y-m-d 23:59:59')."'";//今天$tomorrow=date("Y-m-d",strtotime("-1 day")); $tomorrow_rows="select count(*) from table where tb_send_date>='".$tomorrow." 00:00:00' and tb_send_date<='".$tomorrow." 23:59:59'";;//昨天

曾有人教我,mysql中where 子句尽量少用函数,因为会导致索引无效

额,你说的where字句的函数 是sql的吧,貌似你搞错了

sorry,是sql

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn