首页 > 解决方案 > 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
.   .           .
.   .           .
.   .           .

标签: sql

解决方案


您正在寻找一个窗口函数:

select t.*, count(*) over (partition by x, y) as z
from DataBase t;

推荐阅读