mysql如何查询一个表里,同一字段不同条件数据数量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
2.实现图2的方式有两种:
1)在mysql中用存储过程创建图2的表结构(临时表),把你查询到的结果都写入临时表里,最后将查询结果另存为excel或者csv格式;
2)把分别查询的结果保存到excel,在excel中按照需要统计; 参考技术B
大概就这这个样子吧 ,反正我写这么写 ,也许有更简单的 俺不会··
sql中如何知道字段在哪个表里?
下边是SQLSERVER中查询某字段在哪些表中含有的语法:select sysobjects.name from syscolumns inner join sysobjects on syscolumns.id = sysobjects.id and sysobjects.xtype = 'u' where syscolumns.name = '字段名字' 参考技术A 数据库不同,查找方法不同
以下是sqlserver的,oracle的自己上网找下,也挺快的
Select *
From sysobjects s
Where Exists(
Select *
From syscolumns
Where ID = s.ID and name like '%user%'
)
参考资料:http://apps.hi.baidu.com/share/detail/33237798
参考技术B 一句话 搞定select [name] from sysobjects where id in(select id from syscolumns Where name='字段名') 参考技术C 需求不明确 说具体点
以上是关于mysql如何查询一个表里,同一字段不同条件数据数量?的主要内容,如果未能解决你的问题,请参考以下文章
mysql:只用一条sql语句,如何查出一个表里,不同条件对应的数据条数