Rumah >pembangunan bahagian belakang >tutorial php >统计今日、昨日的帖子数量,php mysql 语句 该如何书写?

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

WBOY
WBOYasal
2016-06-23 14:10:09910semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn