mysql如何查询一个表里,同一字段不同条件数据数量?

下面图片是模拟的数据表,和模拟需要实现的效果。但是写了4条SQL,只能单独查询,有没有办法同时查询。或者用什么办法达到图二中想要实现的查询效果。

输出结果:

sql如下:

SELECT
T.KEFU,
COUNT( CASE WHEN T.FLAG = '1' THEN T.ID END ) 本月成交,
COUNT( CASE WHEN T.FLAG = '0' THEN T.ID END ) 本月预约,
COUNT(
CASE
WHEN T.FLAG = '1' AND DATE_FORMAT( T.DATE, '%Y%m%d' ) = DATE_FORMAT( NOW(), '%Y%m%d' )
THEN T.ID
END ) 今日成交,
COUNT(
CASE
WHEN T.FLAG = '0' AND DATE_FORMAT( T.DATE, '%Y%m%d' ) = DATE_FORMAT( NOW(), '%Y%m%d' )
THEN T.ID
END ) 今日预约
FROM
T_AA T
WHERE
DATE_FORMAT( T.DATE, '%Y%m' ) = DATE_FORMAT( NOW(), '%Y%m' )
GROUP BY T.KEFU

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-08
1.同时查询可以尝试:由于你查询的列数都是2列,且类型相同可以用UNION联合结果集;
2.实现图2的方式有两种:
1)在mysql中用存储过程创建图2的表结构(临时表),把你查询到的结果都写入临时表里,最后将查询结果另存为excel或者csv格式;
2)把分别查询的结果保存到excel,在excel中按照需要统计;
第2个回答  2020-06-08

大概就这这个样子吧 ,反正我写这么写  ,也许有更简单的 俺不会··

第3个回答  2020-06-08
有函数呀 EXCEL函数 管用
相似回答