Sql 从一列数据创建类别
我有以下数据Sql 从一列数据创建类别,sql,tsql,Sql,Tsql,我有以下数据 Place program personID Diff ABC pro1 123 -2 ABC pro1 234 3 ABC pro2 123 4 ABC pro3 123 -8 ABC pro3 234 4 ABC pro3 345 5 XYZ pro1 987 -6
Place program personID Diff
ABC pro1 123 -2
ABC pro1 234 3
ABC pro2 123 4
ABC pro3 123 -8
ABC pro3 234 4
ABC pro3 345 5
XYZ pro1 987 -6
XYZ pro1 765 1
XYZ pro1 657 2
XYZ pro2 987 -5
XYZ pro3 987 -7
XYZ pro3 765 1
XYZ pro3 345 2
XYZ pro1 438 -6
我想创建一个如下所示的表格
Place Program LessThan0 GreaterThan0
ABC pro1 1 1
ABC pro2 0 1
ABC pro3 1 2
XYZ pro1 2 2
XYZ pro2 1 0
XYZ pro3 1 2
我已经在下面的SQL FIDLE中编写了代码
但不知何故,我没有得到我想要的总结。它比要求的更详细。我的SQL语句应该如何修改?您非常接近。我用sum(if())语句替换了case when
Select Place, program,
Sum(if(DiffMonth < 0,1,0)) AS Less,
Sum(if(DiffMonth > 0,1,0)) AS Great
from Table1 GROUP BY Place, program;
选择地点、程序、,
总和(如果(月差<0,1,0))小于,
总和(如果(DiffMonth>0,1,0))为最大值
表1按地点、计划分组;