TableA的数据如下:
res, err := tx.Exec(sqlStr, vals...)
if err != nil {
// handle error
}
我希望看到记录数Col1 Col2 Col3
001 A 0
001 B 0
002 C 0
003 D 0
group by
和Col1
Col2
可能是如下查询:
Col3 = 1
由于没有Select Col1, Col3, Count(1)
From TableA
Group By Col1, Col2
Where Col3 = 1
的记录,因此不会显示任何记录,但我仍希望显示count为0的值。
例如,输出如下:
Col3 = 1
请你帮我看一下如上所示的输出。
答案 0 :(得分:3)
一种方法是使用条件聚合:
Select Col1, Col2, Count(case when Col3 = 1 then 1 end) as CountOfRecords
From TableA
Group By Col1, Col2
答案 1 :(得分:0)
首先你写错了sql语句,你不能在分组依据子句之后使用 Where 子句..你需要在group by之前使用..如果你想使用使用拥有子句后,按组过滤.. 第二,如果'Col3 = 1'没有匹配的列,那么你没有得到任何结果..因为你需要使用 case 语句或子查询。 否则不要使用group by子句而不是使用简单的sql语句。