作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下例所示的支付表,我需要一个查询,以提供支付了多少个 ID (AMOUNT > 0) 1 次、2 次、3 次或更多次。示例:
+----+--------+
| ID | AMOUNT |
+----+--------+
| 1 | 50 |
| 1 | 0 |
| 2 | 10 |
| 2 | 20 |
| 2 | 15 |
| 2 | 10 |
| 3 | 80 |
+----+--------+
我期待结果:
+-----------+------------+-------------+
| 1 payment | 2 payments | 3+ payments |
+-----------+------------+-------------+
| 2 | 0 | 1 |
+-----------+------------+-------------+
ID 1:支付 1 次 (50)。另一笔付款是0,所以没算。因此,1 人支付 1 次。
ID 2:支付了 3 次 (10,20,15)。因此,1 人支付了 3 次或更多次。
ID 3:支付 1 次 (80)。因此,2 人支付 1 次。
我现在正在 excel 上手动操作,但我很确定有更实用的解决方案。有什么想法吗?
最佳答案
一个小的子查询就可以了
Declare @YOurTable table (ID int, AMOUNT int)
Insert into @YourTable values
( 1 , 50 ),
( 1 , 0) ,
( 2 , 10) ,
( 2 , 20) ,
( 2 , 15) ,
( 2 , 10) ,
( 3 , 80)
Select [1_Payment] = sum(case when Cnt=1 then 1 else 0 end)
,[2_Payment] = sum(case when Cnt=2 then 1 else 0 end)
,[3_Payment] = sum(case when Cnt>2 then 1 else 0 end)
From (
Select id
,Cnt=count(*)
From @YourTable
Where Amount<>0
Group By ID
) A
返回
1_Payment 2_Payment 3_Payment
2 0 1
关于sql - 按 1、2 或 3+ 计算谁付了钱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39661814/
假设当加载一个字段时,它是空的。当用户键入 1 时,它表示 0.01,然后他在 1 (10) 之后键入另一个 0,它变为 0.10。当他输入另一个 1 时,它变成 1.10。 就像输入产品的价格一样。
介绍 选择编程语言来投入时间和精力时,有很多因素需要考虑,并且出现一些不确定性:"我可以被录用到某个工作岗位吗?","薪水足够吗?","语言会几个
我有 7.125(双),需要达到 7.15。什么可能是最简单的方法? 找到围捕,但我得到 7.13,请帮助。 谢谢 最佳答案 最简单的方法是乘以 20.0,舍入为整数,然后再次除以 20.0。可以这样
这是一道面试题: Given an amount, say $167.37 find all the possible ways of generating the change for this a
我是一名优秀的程序员,十分优秀!