如何在Server中使用group by 1?
我有很多来自Oracle的SQL sum需要更改为Server。总之,列oracle是按1分组的,但在Server组中为1 false。例如
Create table MyTable(
PRICE int
)
go;
select SUM(PRICE) as Total
from MyTable结果返回1行null。
在Oracle中,它们被按1分组,如下所示:
select SUM(PRICE) as Total
from MyTable
group by 1不回排。
如何在Server中执行此操作?
发布于 2017-09-29 05:30:56
如我所知,在Server <= 2012中。它不支持组的1。但您可以尝试这样的sql将是相同的。--创建一个表示例
CREATE TABLE table_name (
column1 int
);--如果数据为null,则返回1行:
select sum(column1) as total
from table_name--如果数据为空的<=> Oracle组为1,则返回0行
select sum(column1) as total
from(
select column1, 1 as GroupBy from table_name
) a
group by GroupBy发布于 2017-09-30 01:51:56
Server中不支持Group 1,但您可以使用如下代码:
select SUM(PRICE) as Total
from MyTable
having count(PRICE) > 0发布于 2017-07-22 05:47:46
GROUP BY的正确语法是
SELECT column1, column2
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2条件(WHERE)是可选的。
https://stackoverflow.com/questions/45251107
复制相似问题