我正在尝试选择已经通过我们的数据库的订单数量。

从订单中,我想要检索3个部分

  1. 总订单数量
  2. 订单可销售订单的数量
  3. 订单包含仅包含免费样品的订单数量

如果订单只包含免费样品,那么该订单的总价值自然为0 ,如果是正常订单,则总量自然会>0

总字段为十进制格式。

这就是我此刻想要做的事情。

COUNT(gross) as 'TotalOrders',
COUNT(case when gross = 0.00 THEN null else gross end) as 'OrderCount', 
COUNT(case when gross > 0.00 THEN gross else null end) as 'Samples',

如果订单具有正的gross我怎样才能使COUNT()函数仅增加1?

我在SQLServer这样做

我的结果显示TotalOrders1 OrderCountSamples显示为0

谢谢。

#1楼 票数:3 已采纳

这是你想要的吗?

sum(case when gross >= 0.00 then 1 else 0 end) as TotalOrders,
sum(case when gross = 0.00 then 1 else 0 end) as OrderCount, 
sum(case when gross > 0.00 then 1 else 0 end) as Samples

您可能需要> 0.00 ,但随后TotalOrders将与Samples相同。

#2楼 票数:0

强制转换(COUNT(大约> 0.00时为CAS = THEN 1,否则为NULL END)作为样本

#3楼 票数:0

你建议的公式应该有效

with test as (select 1 as gross union all select  -1 as gross union all select  2)
SELECT COUNT(CASE WHEN gross > 0.00 THEN gross ELSE null END) as 'Samples' from test

  ask by vmp translate from so

未解决问题?本站智能推荐:

1回复

SQL计数不计算列中的“NULL”

我正在学习 MS SQL & 试图计算记录表中输入的不等于 actionID(column) 值 21 的用户数。下面是查询,但它没有按预期给我结果。 它不考虑 NULL 值。 它显示计数为 0,但它应该显示结果为 1。我在 actionID 列字段中有 NULL 值
1回复

在case语句一个查询多个SQL计数

我需要使用 case 语句计算满足特定条件的表中的个人数量的总和。 然后我需要计算数量属于该组的所有个体的百分比。 我认为这样做的一种方法类似于以下内容 我会怎么做,这样我最终与一个矩阵,给了我两个不同的百分比上面结了? 理想情况下,我只有一个[目标]变量,而不是两个,这样我就可以使用GROUP B
1回复

为了计数或不计数,这就是问题所在

我有这张桌子: 我的想法是获得物品的数量,以及每件物品的总数,如下: 所以我在做: 但我得到的数字都错了: 我究竟做错了什么?
1回复

使用CASE和WHERE语句以及计数器SQL

我想查询。 我使用Microsoft SQL。 如果乘积等于FAST ... 并且tree_level等于0、1、2、3、4、5,然后计算0、1、2、3、4、5的数量。 例如,如果有30个项目的编号包含“ 0,1,2,3,4,5”。 然后乘以30 * 2。 并
3回复

按计数计数的SQL组

这是我的剧本 返回表是这样的: 所以,这次我需要Count of Tag,Group by这个新的Count字段。 一些返回值如: 有没有办法不使用新表或模板表或任何存储表只是通过查询?
2回复

SQL不同计数

我有3张桌子。 我的查询和结果计数 2 无论部门字段如何,我都需要 ID 100 的结果计数 1。 意味着不计算 table3 上的重复 ID。 不知道为什么不同的不起作用。 谢谢你。
2回复

SQL计数不同

我有一个SQL查询,它只是计数,它返回正确的值,但是当我将其切成薄片并获得不同区域的计数时,总计数不再与第一个相匹配。 这就是我得到的: 表的邮政编码,其中包含CountyID,CountryName和邮政编码。 包含ShippingCountry和ShippingZip的表订单
1回复

SQL计数(不同)

需要计数(不同)方面的帮助,我正在尝试显示不同(MG)项目的计数 消息 8120,级别 16,状态 1,第 2 行列“d365prd_opportunity.Id”在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。 更新我正在尝试将 COUNT 合并到主查询中。 对于这个具体的例