sql - SQL根据多列值计算行数
问题描述
我有一张如下图所示的表格。如果我想计算行(例如 X = A,Y = Burger)出现并返回为 Z 的次数,我该如何编写 SQL 代码?谢谢
Select * X, Y
from DataBase
结果 :
X Y Z(to be determined..)
--------------------
A Burger 2
A Burger 2
A Fries 1
B Burger 2
B Pie 1
B Burger 2
C Pie 2
C Pie 2
C Burger 1
. . .
. . .
. . .
解决方案
您正在寻找一个窗口函数:
select t.*, count(*) over (partition by x, y) as z
from DataBase t;
推荐阅读
- omnet++ - 如何从 Ubuntu 终端运行 OMNeT++ 项目
- express - Express - 查找子域
- c# - DivideByZeroException 不起作用并给出随机整数(例如 8)
- constraints - 动态数组约束,使得 8'h00 值应包含在最少 4 个元素中
- java - Java/Android:将目标处理程序传递给将其作为弱引用引用的自定义按钮的最短方法(lambda?)
- html - 为什么即使设置为0,div的填充也是100%
- javascript - “location.assign(url)”有时似乎会导致移动设备上的 URL 错误,但在大多数情况下都可以正常工作
- python - 局部变量返回显示错误信息
- linux - 加入两个文件linux
- java - 杰克逊不能用一个参数构造函数构造实例