2 qq 18089445 qq_18089445 于 2016.03.24 16:57 提问

sql server count函数问题

代码:

 select jl.ORGAN_NAME as '油站名称',jl.KPLX as '开票类型',jl.SFCH as '冲红数量',sum(jl.KPJE) as '开票金额' from DZFP_KPJL jl where jl.ORGAN_NAME = '组织机构2' and jl.KPRQ between '2016-03-22' and '2016-03-24' group by jl.ORGAN_NAME,jl.KPLX

查询结果:

图片说明
如图所示,要把第三列值是1的所有数据用count函数统计数量,如果值是0,则不统计,求解答,急急急急急----------------------------

2个回答

renxin8358458
renxin8358458   2016.03.24 18:22

最简单的实现方式,再包一层,写个子查询。

SELECT
count(1)
FROM
(
SELECT
jl.ORGAN_NAME AS '油站名称',
jl.KPLX AS '开票类型',
jl.SFCH AS '冲红数量',
sum(jl.KPJE) AS '开票金额'
FROM
DZFP_KPJL jl
WHERE
jl.ORGAN_NAME = '组织机构2'
AND jl.KPRQ BETWEEN '2016-03-22'
AND '2016-03-24'
GROUP BY
jl.ORGAN_NAME,
jl.KPLX
) t
WHERE
t.开票金额 = 1

qq_18089445
qq_18089445 太麻烦,已经解决了,用的case when。
2 年多之前 回复
CSDNXIAOC
CSDNXIAOC   2016.03.30 11:22

Count函数能让我们知道表格被选出来的数据的个数
它的语法:
SELECT COUNT("栏位名") 
FROM "表格名"
以tb_Teachers_info表为例:
tb_Teachers_info

如果我们想得到表中教师的人数
select   COUNT(TeachersName) 
'count'    from  tb_Teachers_info;
结果:......
答案就在这里:十五. Sql server count函数
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQLServer的COUNT()指令
在有关SQL Server的讨论中,时常遇到这样一个问题:到底应该使用COUNT(*)还是使用COUNT(columnname),其中columnname是要计算纪录数的列名。一些讨论区和邮件列表给出的建议往往都是使用COUNT(columnname)比使用COUNT(*)更好。但这并不总是对的,有时甚至完全错了。尽管有些场合可以(或者说是应该)使用COUNT(columnname),但不能总是这
SQLServer 集合函数 COUNT 优化分析
-- 创建测试表 -- drop table tb_CountTest create table tb_CountTest ( [uniqueidentifier] [uniqueidentifier] not null, [bigint] [bigint] not null, [tinyint] [tinyint] not null, [int] [int] not null, [in
正确使用SQL Server中的count()函数
count()函数的正确使用count()函数用于统计SQL Server表中的记录行。但是当表中存在NULL的内容时,那么如下3种写法的结果将不一样: select count(*) select count(1) select count(列名) 我们创建一个表,然后循环插入5000条记录,并做查询对比--创建一个test表 CREATE TABLE test ( id
【SQL 编程你也行】SQL Server新功能之函数:count函数(2012、2014的over partition by order by)
上一篇我们讲了count聚合函数的基本功能,以及在2005、2008版本中新增的over partition by来实现分组计数的功能。 在SQL Server 2012、2014中进一步加强了count的功能,使得count在配合over时,一共有3种用法。 1、count(*) over(partition by 分组字段 ) 这种用法在上一篇中已将讲过,是2005、20
SQL Server与Oracle在 count() over() 函数的差异
最近一个项目使用了oracle(11g),在编写sql时,要知道数据总条数,可以这么写: select id, v, count(*) over() as num from ( select 1 as id,'a' v from dual union all select 2 as id,'b' v from dual union all select 3 as
sql中Count函数的用法
Count 函数 计算从查询返回的记录数。 语法 Count(expr) 其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL合计函数).您可以计算任何种类的数据,包含文本数据。 说明
对于SQL中COUNT(1)和COUNT(*)执行效率上的误解
转自:http://blog.itpub.net/26736162/viewspace-2136339/ 如题,SQL中COUNT(1)和COUNT(*)执行效率的高低,说法不一。不过本人认为二者执行效率是一样的。 本文作如下阐述: 1、COUNT( )函数是数据库(Oracle、MySQL等)中的聚合函数,用于统计结果集的行数。其语法形式如下所示: COUNT({ * | [ DIS
SQL中count()方法的使用
t_sql中的COUNT函数 1 count函数的定义 count函数的定义可见MSDN。定义如下: COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } ) 那么COUNT 有两种使用方式COUNT(expression)和C
SQL count详细用法
返回单一值的函数称做聚集函数(aggregate function)。通过应用程序访问下列聚集函数的结果时,包含结果的“字段名”就是你所使用的实际函数。例如,在分析你的数据库结果时,结果数组的键值可能如下所示: $keyname = “COUNT(*)”; $resultkey = “AVG(net_amount)”; COUNT COUNT函数计算出结果集合中的数据行数。和其他函数一样它
SQL AVG 函数、SQL COUNT() 函数
SQL AVG 函数 定义和用法 AVG 函数返回数值列的平均值。NULL 值不包括在计算中。 SQL AVG() 语法 SELECT AVG(column_name) FROM table_name SQL AVG() 实例 我们拥有下面这个 "Orders