我想从数据库中计算月份的日期。 我的代码就像
$sql="SELECT count(date) FROM tbl_upcoming where
date=MONTH(NOW())";
if ($results=mysqli_query($conn,$sql)){
$datecount=mysqli_num_rows($results);
}
例如:' 2017-3-20',' 2017-3-4',' 2017-1-3',它将返回2。
答案 0 :(得分:1)
尝试这样的事情:
SELECT date, count(1) FROM tbl_upcoming where
MONTH(date)=MONTH(NOW()) and YEAR(date) = YEAR(NOW()) GROUP BY date
答案 1 :(得分:0)
你快到了那里:
SELECT count(*) FROM tbl_upcoming WHERE MONTH(the_date)=MONTH(NOW())";
MONTH(NOW())
的方法很好,这将返回当前月份。
但是,您将当前月份与整个日期进行比较,但这不会起作用。您还必须将MONTH()
功能应用于您的日期,以便将月份与月份进行比较
答案 2 :(得分:0)
你应该这样检查,
月也可以是过去的一年或明年,
select count(*) as cnt from tbl_upcoming
where MONTH(date) = MONTH(CURRENT_DATE) and YEAR(date) = YEAR(CURRENT_DATE);
我希望这会有所帮助。
答案 3 :(得分:0)
您想知道当月有多少行?
SELECT COUNT(*)
FROM tbl_upcoming
WHERE `date` >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY;
注意:
COUNT(*)
。CURDATE()
今天上午是午夜,因此您的查询更容易处理。CURDATE() - INTERVAL DAY(CURDATE())-1 DAY
为您提供本月第一天的DATE
。DATE
,DATETIME
,DATETIME(6)
,TIMESTAMP
等。添加
AND `date` < CURDATE() - INTERVAL DAY(CURDATE())-1 DAY
+ INTERVAL 1 MONTH;