- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的需要帮助,因为我的大脑不能再为此工作了。所以我有这些数据如下:
识别号
创建日期
WeekOfMonth(CreDate)
测试进度
佩斯 1
30/03/2021
3-5
30%
佩斯 2
31/03/2021
3-5
20%
佩斯 180
02/04/2021
3-5
10%
佩斯 3
03/04/2021
3-5
25%
佩斯 1
03/04/2021
3-5
50%
佩斯 150
04/04/2021
4-1
30%
佩斯 1
06/04/2021
4-1
70%
佩斯 1
12/04/2021
4-2
100%
佩斯 2
15/04/2021
4-2
50%
对于 WeekOfMonth (CreDate),数据实际上是 CreDate 月份和星期的连接,因此对于 4 月 1 日至 4 月 3 日,按日历视为月份的第 5 周。所以我需要将 WeekOfMonth(CreDate) 更改为列并按 PesID 排列数据分区并按 CreDate 排序。如果相同的 PesID 也具有相同的 WeekOfMonth (CreDate),那么我希望获得最高百分比的 TestingProgress。预期结果应如下:
识别号
3-1
3-2
3-3
3-4
3-5
4-1
4-2
佩斯 1
空值
空值
空值
空值
50%
70%
100%
佩斯 2
空值
空值
空值
空值
20%
空值
50%
佩斯 180
空值
空值
空值
空值
10%
空值
空值
佩斯 3
空值
空值
空值
空值
25%
空值
空值
佩斯 150
空值
空值
空值
空值
空值
30%
空值
但是,我目前拥有的是以下内容:
识别号
3-1
3-2
3-3
3-4
3-5
4-1
4-2
佩斯 1
空值
空值
空值
空值
30%
70%
100%
佩斯 150
空值
空值
空值
空值
空值
30%
空值
佩斯 180
空值
空值
空值
空值
10%
空值
空值
佩斯 2
空值
空值
空值
空值
20%
空值
50%
佩斯 3
空值
空值
空值
空值
25%
空值
空值
这个结果是根据 PesID 而不是 CreDate 安排的,我不知道我应该如何用 PIVOT 添加 ORDER BY 子句。下面是我的 SQL 代码:
with
t1
as(
select [RN] = Row_Number()Over(Partition by [PesID],[WeekByMonth] Order by [CreDate] asc)
,*
from [MyTable]),
t2
as(select *
from t1
where [RN]='1')
select [PesID],[1-1],[1-2],[1-3],[1-4],[1-5],[2-1],[2-2],[2-3],[2-4],[2-5],[3-1],[3-2],[3-3],[3-4],[3-5],[4-1],[4-2],[4-3],[4-4],[4-5],[5-1],[5-2],[5-3],[5-4],[5-5],[6-1],[6-2],[6-3],[6-4],[6-5]
,[7-1],[7-2],[7-3],[7-4],[7-5],[8-1],[8-2],[8-3],[8-4],[8-5],[9-1],[9-2],[9-3],[9-4],[9-5],[10-1],[10-2],[10-3],[10-4],[10-5]
,[11-1],[11-2],[11-3],[11-4],[11-5],[12-1],[12-2],[12-3],[12-4],[12-5]
from
(
select [PesID],[TestingProgress],[WeekByMonth]
from t2
) d
pivot
(
min(TestingProgress)
for [WeekByMonth] in ([1-1],[1-2],[1-3],[1-4],[1-5],[2-1],[2-2],[2-3],[2-4],[2-5],[3-1],[3-2],[3-3],[3-4],[3-5],[4-1],[4-2],[4-3],[4-4],[4-5],[5-1],[5-2],[5-3],[5-4],[5-5],[6-1],[6-2],[6-3],[6-4],[6-5]
,[7-1],[7-2],[7-3],[7-4],[7-5],[8-1],[8-2],[8-3],[8-4],[8-5],[9-1],[9-2],[9-3],[9-4],[9-5],[10-1],[10-2],[10-3],[10-4],[10-5]
,[11-1],[11-2],[11-3],[11-4],[11-5],[12-1],[12-2],[12-3],[12-4],[12-5])
) piv
有人可以帮我弄这个吗?非常感谢。
最佳答案
您必须仅使用基本列来提供枢轴。你可能注意到我创建了一个专栏 MinDate
它使用窗口函数 min() over()
,那么就是Order By MinDate
的小事了
简化版
示例
Set DateFormat DMY
Declare @YourTable Table ([PesID] varchar(50),[CreDate] date,[WeekOfMonth(CreDate)] varchar(50),[TestingProgress] varchar(50)) Insert Into @YourTable Values
('Pes 1','30/03/2021','3-5','30%')
,('Pes 2','31/03/2021','3-5','20%')
,('Pes 180','02/04/2021','3-5','10%')
,('Pes 3','03/04/2021','3-5','25%')
,('Pes 1','03/04/2021','3-5','50%')
,('Pes 150','04/04/2021','4-1','30%')
,('Pes 1','06/04/2021','4-1','70%')
,('Pes 1','12/04/2021','4-2','100%')
,('Pes 2','15/04/2021','4-2','50%')
Select [PesID],[3-4],[3-5],[4-1],[4-2],[4-3]
From (
Select MinDate = min(CreDate) over (partition by [PesID])
,[PesID]
,[WeekOfMonth(CreDate)]
,[TestingProgress]
From @YourTable
) src
Pivot (max([TestingProgress]) for [WeekOfMonth(CreDate)] in ( [3-4],[3-5],[4-1],[4-2],[4-3] ) ) pvt
Order By MinDate
返回
关于sql - 如何使用 PIVOT 根据日期排列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67223242/
我有一个 todolist 应用程序,它在 Pivot 控件内的单独 PivotItems 中具有多个 ListBox 控件。如果我导航到另一个页面,然后使用后退按钮返回,则显示的 Pivot 没有响
我想 pivot_long() 下面数据集的多列避免硬编码。我看过一些类似的问题,但我仍然做不到。 宽数据: > head(data) ID IND_TEST_SCORE ARG_G1_A
假设我有一个 orders 表,它将与另外三个名为 typings、translates 和 论文 。我知道数据透视表应该有点像 many to many polymorphic relation但这
当我尝试将 null 替换为 zero 时,收到以下错误消息。 The column name "jan" specified in the PIVOT operator conflicts with
有没有办法在数据透视表中为计算为零的单元格隐藏或显示空白单元格? 最佳答案 使用数字格式隐藏所选单元格中的零值: 按照此过程隐藏所选单元格中的零值。如果其中一个单元格中的值更改为非零值,则该值的格式将
我正在尝试理解 Select algorithm我遇到了 a good pivot VS a bad pivot 。我可以看到该算法正在使用 Partition 算法来分隔右侧的较大元素pivot 和
我有以下代码:
我有一个国家表和一个数据透视表 Country_language,其中列出了所有国家及其可用语言的翻译。 表结构如下: Languages -------------- ID Locale Recor
目前,PWS 上唯一的 RabbitMQ 服务看起来有点不确定。我想知道我是否可以使用 Pivotals 解决方案 https://network.pivotal.io/products/p-redi
我是使用 Spark 数据帧的新手。我正在尝试将 pivot 方法与 Spark(Spark 版本 2.x)一起使用并遇到以下错误: Py4JError: An error occurred whil
我需要转置一个表,其中 column1 是实体的名称,column2 到 column366 是一年中包含美元金额的日期。表,select语句,输出结果都给了 以下 - 问题 - 此语法要求我创建一个
我想知道是否可以像在 python 和 R 上那样在 OpenRefine 上创建值的聚合和汇总?示例: 包含 30 万条记录的医疗预约表身份识别患者 |年龄 |身份证预约 |值 患者汇总和总结的结果
我想知道是否可以像在 python 和 R 上那样在 OpenRefine 上创建值的聚合和汇总?示例: 包含 30 万条记录的医疗预约表身份识别患者 |年龄 |身份证预约 |值 患者汇总和总结的结果
我不熟悉 SQL 并使用 Google BigQuery。我有一个表,其中有一条记录如下所示: publication_number |受让人 US-6044964-A|索尼公司 |数字音频光盘公司
在尝试转换 sql 表时,我看到了这篇文章 Here .通过使用这种方法,我创建了一个查询。但是我现在已经意识到它当然会使用 MAX 函数聚合结果。但是,我需要 Colum 旋转,但要显示所有事件。从
我们能否将行旋转到多列,即 Create table #Temp_Trans ( P_ID int, Custom_Name varchar(30), Text_Value var
计算字段很棒,但有一些限制,例如无法对其进行排序(无法将字段移动到报告过滤器区域)。 我试过“强制”一个过滤器,就像微软的人建议的那样:https://answers.microsoft.com/en
我有以下数据集,我需要从中计算数据透视中不同值的计数。我尝试了几个函数,如 FREQUENCY、COUNTIFS 等,但我做不到。 输入 Input Data 输出 Expected Output 最
请看下面的数据: 我正在寻找生成以下输出的查询: 我正在试验“PIVOT”,但尚未取得预期的结果。 最佳答案 这应该有效: SELECT ReviewType, DER, LEI, NOR, [NOT
我有两个表Person(person_id, name) 和另一个表Contacts(person_id, phone_type, phone_no)。 Person-----------------
我是一名优秀的程序员,十分优秀!