Heim >Backend-Entwicklung >PHP-Tutorial >统计今日、昨日的帖子数量,php mysql 语句 该如何书写?

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

WBOY
WBOYOriginal
2016-06-23 14:10:09916Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn