我经常在Teradata SQL助手中使用此功能:
row_number() over(partition by X||Y order by Z desc) = 1
Run Code Online (Sandbox Code Playgroud)
我的同事使用相同的BUT,不同之处在于他没有输入“ ||” 在两个属性之间,他只需输入“,”。我同时测试了一些小数据,但在输出中找不到任何差异。
我的假设是使用“ ||” 是两个属性(X和Y)的串联。这是真的吗?
现在有人“ ||”之间有什么区别 和“,”在此命令?
提前谢谢了..
两者非常相似。但是,带逗号的版本是正确的(对于大多数用途)。考虑在以下情况下会发生什么:
X Y
A BC
AB C
Run Code Online (Sandbox Code Playgroud)
串联版本会将它们都合并为“ ABC”,但是您可能不想这样做。逗号版本将值视为('A','BC')和('AB','C'),因此它们是分开的-就像您所做的一样group by X, Y。
如果确实是您的意图,则仅将值连接在一起。
| 归档时间: |
|
| 查看次数: |
2511 次 |
| 最近记录: |