MySql统计查询 使用纯select 实现 急,在线等
发布网友
发布时间:2022-04-10 09:18
我来回答
共4个回答
热心网友
时间:2022-04-10 10:48
select a.项目名称,a.yy as 预约,
case when isnull(b.cj) then 0 else b.cj end as 创建,
a.预约时间 as 时间 from
(select 项目名称,count(项目名称) as yy,预约时间 from table where 预约时间='2012-05-11'
group by 预约时间,项目名称) a left join
(select 项目名称,count(项目名称) as cj,date(创建时间) as cjsj from table where date(创建时间)='2012-05-11'
group by date(创建时间),项目名称) b
on a.项目名称=b. 项目名称 and a.预约时间=b.cjsj
热心网友
时间:2022-04-10 12:06
select A.项目名称,A.预约,B.创建,A.时间
(
SELECT 项目名称,count(*) as 预约,convert(varchar(10),预约时间,120) as 时间
FROM 表
GROUP BY 项目名称,convert(varchar(10),预约时间,120)) as A,
(
SELECT 项目名称,count(convert(varchar(10),创建时间,120)) as 创建,convert(varchar(10),创建时间,120) as 时间
FROM 表
GROUP BY 项目名称,convert(varchar(10),创建时间,120)) as B
WHERE A.项目名称=B.项目名称 AND A.时间=B.时间
AND A.时间='2012.5.11'
group by A.项目名称,A.预约,B.创建,A.时间追问
大牛,怎么把三个这样的结果拼成一个结果他们中都有相同的字段?
热心网友
时间:2022-04-10 13:40
结果集里的“创建”是什么含义?没看懂。
参考下边的语句:
select 项目名称,count(*) as 预约, convert(varchar(10),预约时间,120) as 时间
from 原始数据
where 项目名称 in ('高级采购师','会计从业资格证')
and convert(varchar(10),预约时间,120) ='2012-05-11'
group by 项目名称,convert(varchar(10),预约时间,120)
order by count(*) desc追问创建时间
热心网友
时间:2022-04-10 15:32
select t.项目名称,sum(t.预约),sum(t.创建),t.时间, from (
select 项目名称,DATE_FORMAT(创建时间,'%Y-%m-%d') as 时间,count(1) as 创建,0 as 预约
from 表名 group by DATE_FORMAT(创建时间,'%Y-%m-%d'),项目名称
union all
select 项目名称,预约时间 as 时间,0 as 创建,count(1)as 预约
from 表名 group by 预约时间,项目名称
) t group by t.项目名称,t.时间