l******t 发帖数: 660 | 1 TSQL 里边没有办法实现 ASCII SQL 里边row unbounded precedding相应的statement
有一句ASCII SQL的statement
select SUM(case when ColA is null then 0 else 1) over (partition by Colb
order by Colc row unbounded preceding)
就是返回patition by 以后当前row之前的sum
这个query在sqlserver没法run, 因为tsql里边有partition by, 但是用sum就不能
order, 也
不能用row unbounded preceding,
用temp table比较麻烦, 不知道有没有好一点的别的写法 |
B*****g 发帖数: 34098 | 2 似乎只能self-join了,等sql server大牛
statement
【在 l******t 的大作中提到】 : TSQL 里边没有办法实现 ASCII SQL 里边row unbounded precedding相应的statement : 有一句ASCII SQL的statement : select SUM(case when ColA is null then 0 else 1) over (partition by Colb : order by Colc row unbounded preceding) : 就是返回patition by 以后当前row之前的sum : 这个query在sqlserver没法run, 因为tsql里边有partition by, 但是用sum就不能 : order, 也 : 不能用row unbounded preceding, : 用temp table比较麻烦, 不知道有没有好一点的别的写法
|
l******t 发帖数: 660 | 3 self join 效率太低了些吧, 怪了, tsql就没有实现这样的功能吗 |
B*****g 发帖数: 34098 | 4 似乎2011里还是没有
【在 l******t 的大作中提到】 : self join 效率太低了些吧, 怪了, tsql就没有实现这样的功能吗
|
j*****n 发帖数: 1781 | |
B*****g 发帖数: 34098 | 6 lz不是不会写,是问M$为啥不给直接的
【在 j*****n 的大作中提到】 : will this answer help? : http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server-programming
|
j*****n 发帖数: 1781 | |