不确定这是否只是一种坏习惯,还是一种有效的处理方法,但对于跨越多个表的大型复杂报表查询,我通常通过对一个Case语句进行求和来获得我的汇总统计数据。例如: SUM(CASE WHEN Order.Type = 'Special' THEN 1 ELSE 0 END) AS SpecialOrders,
SUM(CASE WHEN Order.Type = 'Magic' THEN 1 ELSE 0 END)
,'P3' AS PERIOD,COUNT(CASE SecurityLayer WHEN 'dblayer' THEN SecurityLayerELSE '' END) DB_SEC_COUNT
,COUNT(CASE SecurityLayer WHEN 'Applayer' THEN SecurityLayer ELSE
今天我的问题是,我有2列,我希望检查这些列的和是否不大于某个值(例如485),如果是,则执行查询……SELECT * FROM table WHERE ColumnA + ColumnB < 485SELECT Sum(ColumnA) + Sum(ColumnB) AS Total FROM table编辑:我发现XD的问题是列很小,1行或更多行的结果超过32k,所以它不工作!谢谢大家
+--------+--------+----------+----------+
0 can be is NULL, not a problem 我尝试了这样的查询:"SELECT typeId,CASEWHEN status =2则status END AS active,CASE WHEN status =3则status END AS disabled,CASE WHEN status =5 THEN