[英]Count of rows month wise for a given year
I want to select Registration per month. 我想选择每月注册。
<?php
include 'member_entry/sdg_connect.php';
$sql="select member_id from sdg_members where member_joindate BETWEEN DATE('2015-02-30') AND DATE( '2016-12-31')";
if ($result=mysqli_query($conn,$sql))
{
$rowcount=mysqli_num_rows($result);
echo $rowcount;
mysqli_free_result($result);
}
mysqli_close($conn);
?>
You can use an aggregate function count() and group by it by month 您可以按月使用聚合函数count()和group by
$sql="select count(member_id), month(member_joindate)
from sdg_members
where member_joindate BETWEEN str_to_date('30/02/2015', '%d/%m/%Y')
AND str_to_date('31/12/2016', '%d/%m/%Y')
group by month(member_joindate) ";
As scaisEdge already mentioned, you have to use group by
: 正如scaisEdge已经提到的那样,你必须使用
group by
:
select
YEAR(member_joindate) AS year, MONTH(member_joindate) AS month, COUNT(DISTINCT member_id) AS joins
from
sdg_members
where
member_joindate BETWEEN '2015-02-30' AND '2016-12-31'
group by
YEAR(member_joindate), MONTH(member_joindate)
This will give you results in the form of 这将以。的形式给你结果
year | month | joins
2015 | 3 | 10
2015 | 4 | 3
2015 | 5 | 11
...
Afterwards you do not need to apply num_rows
anymore, you just have to go through the result set 之后您不再需要应用
num_rows
,您只需要完成结果集
If datatype of member_joindate
column is just DATE
than you can use this query: 如果
member_joindate
列的数据类型只是DATE
,则可以使用此查询:
SELECT COUNT(member_id), MONTH(member_joindate)
from sdg_members
where member_joindate BETWEEN '2015-02-30' AND '2016-12-31'
group by MONTH(member_joindate)
If datatype of member_joindate
column is just DATETIME
than you can use this query: 如果
member_joindate
列的数据类型只是DATETIME
,那么您可以使用此查询:
SELECT COUNT(member_id), MONTH(member_joindate)
from sdg_members
where member_joindate BETWEEN '2015-02-30 00:00:00' AND '2016-12-31 23:59:59'
group by MONTH(member_joindate)
Keep in mind MONTH()
will return the month number, you can also use MONTHNAME()
function. 请记住
MONTH()
将返回月份编号,您也可以使用MONTHNAME()
函数。
SELECT COUNT(sb_id), MONTHNAME(sb_ondate)
from sbbleads_members
where sb_ondate BETWEEN '2015-02-30' AND '2016-12-31'
group by MONTHNAME(sb_ondate);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.