Php 如何在mysql中编写查询以获取如下数据?
我有一个像这样的tbl_用户Php 如何在mysql中编写查询以获取如下数据?,php,mysql,Php,Mysql,我有一个像这样的tbl_用户 Uid Fname createddate Active(0:inactive;1:active;2:pending) 1 user1 2014-12-14 1 2 user2 2013-11-18 0 3 user3 2014-12-14 1 我想要的是 根据日期,有多少用户处
Uid Fname createddate Active(0:inactive;1:active;2:pending)
1 user1 2014-12-14 1
2 user2 2013-11-18 0
3 user3 2014-12-14 1
我想要的是
根据日期,有多少用户处于活动、非活动和挂起状态
array(
[0]=>array(
[date]=>2014-12-14
[active]=2
[inactive]=0
[pending]=0
)
[1]=>array(
[date]=>2013-11-18
[active]=0
[inactive]=1
[pending]=0
)
)
尝试以下方法:
SELECT date, COUNT(CASE WHEN Active = 0 then 1 ELSE NULL END) as "Inactive",
COUNT(CASE WHEN Active = 1 then 1 ELSE NULL END) as "Active",
COUNT(CASE WHEN Active = 2 then 1 ELSE NULL END) as "Pending"
FROM tbl_users
GROUP BY date
尝试以下方法:
SELECT date, COUNT(CASE WHEN Active = 0 then 1 ELSE NULL END) as "Inactive",
COUNT(CASE WHEN Active = 1 then 1 ELSE NULL END) as "Active",
COUNT(CASE WHEN Active = 2 then 1 ELSE NULL END) as "Pending"
FROM tbl_users
GROUP BY date
在Mysql中,条件和很简单,可以表示为
select
createddate,
sum( Active = 1 ) as `active`,
sum( Active = 0 ) as `inactive`,
sum( Active = 2 ) as `pending`
from tbl_users
group by createddate
在Mysql中,条件和很简单,可以表示为
select
createddate,
sum( Active = 1 ) as `active`,
sum( Active = 0 ) as `inactive`,
sum( Active = 2 ) as `pending`
from tbl_users
group by createddate