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

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

WBOY
发布: 2016-06-23 14:10:09
原创
913 人浏览过

统计今日、昨日的帖子数量,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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板