SQL 由一组 Row 派生值
Posted
技术标签:
【中文标题】SQL 由一组 Row 派生值【英文标题】:SQL derived value by a set of Row 【发布时间】:2021-02-04 17:13:06 【问题描述】:你好,我的桌子是这样的
具有相同 S id 的行的组合称为一个族。 输出应具有基于以下推导的计算层代码
输出应该是 Output
我第一次使用 ***。我需要 db2 中的查询,我可以将输出用作报告。
【问题讨论】:
请提供所需的输出并避免粘贴屏幕截图 在提出问题时,您需要提供一个可重现的最小示例。请参考以下链接:***.com/help/minimal-reproducible-example 请提供以下内容: (1) DDL 和样本数据填充,即 CREATE table(s) 加上 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试在 T-SQL 中实现它。 (3) 期望的输出,基于上面#1 中的样本数据。 (4) 你的 SQL Server 版本 (SELECT @@version;) 【参考方案1】:你需要的windows功能如下:
Select t.*,
Concat('Tier ', count(*) over (partition by s_id) ) as tier
From your_table t
【讨论】:
感谢您的查询,但不仅仅是受抚养人的数量,如果在 Sid 下有一组关系代码,即 EE+CH,它应该给出某种“Teir+EE+CH”如果它的 EE+SP 应该给出 'Tier+EE+SP' ,如果它的 EE+CH+CH 那么它应该是 'Tier+FAM' 这样基本上是一组关系代码组合的某种字符串。希望我清楚我的问题 什么?我已经根据预期的输出编写了查询。你应该在问题本身中明确你的逻辑。 谢谢你的时间真的很感激它。是否可以将行与表中的一组行进行比较。我也在 Db2 中编写查询 是的。它是使用 windows 功能完成的。如果你学会了如何使用 windows 功能,你应该真的得到你的答案。以上是关于SQL 由一组 Row 派生值的主要内容,如果未能解决你的问题,请参考以下文章
sql 表表达式 - 视图,临时表,表变量,派生表,表值函数,公用表表达式(CTE)