对应重复列的数据转成一行
Posted 熬肥妖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对应重复列的数据转成一行相关的知识,希望对你有一定的参考价值。
问题:C列相同的,GH两列的内容横向排成一行
Sub Test() Dim MyRow As Long, MyCol As Long For MyRow = Cells(Rows.Count, 3).End(xlUp).Row To 2 Step -1 If Cells(MyRow, 3) = Cells(MyRow - 1, 3) Then MyCol = Cells(MyRow, Columns.Count).End(xlToLeft).Column - 6 Cells(MyRow - 1, 9).Resize(1, MyCol) = Cells(MyRow, 7).Resize(1, MyCol).Value Cells(MyRow, 3).EntireRow.Delete End If Next End Sub
原博客各种作……所以换阵地了,不过每篇都搬过来,实在有点累,想看就自己看吧:http://blog.sina.com.cn/pureiceshadow
BigQuery 选择重复列的一行
【中文标题】BigQuery 选择重复列的一行【英文标题】:BigQuery selecting one row of a repeated column 【发布时间】:2018-07-16 22:32:54 【问题描述】:假设我有一个包含这些列和值的表格:
------------- ----------
| customer_id | order_id |
|-------------|----------|
| 14 | 3 |
| 17 | 9 |
| 17 | 12 |
| 17 | 33 |
| 44 | 1 |
------------------------
即 2 列,其中一列可以获取重复值 (customer_id
),另一列不获取重复值 (order_id
)。
如何查询表以获得唯一的customer_id
值?当customer_id
被重复时,我想抓取具有最小order_id
的行。所以我假设为此需要一个ORDER BY
声明。
如果我使用GROUP BY
对列进行分组,我会得到如下查询:
#standardSQL
SELECT customer_id, order_id FROM table
GROUP BY customer_id, order_id;
仍然显示所有customer_id
行。
我厌倦了使用DISTINCT
,但这会产生相同的值。
【问题讨论】:
【参考方案1】:以下是 BigQuery 标准 SQL
#standardSQL
WITH `project.dataset.table` AS (
SELECT 14 customer_id, 3 order_id UNION ALL
SELECT 17, 9 UNION ALL
SELECT 17, 12 UNION ALL
SELECT 17, 33 UNION ALL
SELECT 44, 1
)
SELECT customer_id, MIN(order_id) AS order_id
FROM `project.dataset.table`
GROUP BY customer_id
-- ORDER BY customer_id
结果为
Row customer_id order_id
1 14 3
2 17 9
3 44 1
【讨论】:
以上是关于对应重复列的数据转成一行的主要内容,如果未能解决你的问题,请参考以下文章
pandas删除数据行中的重复数据行基于dataframe所有列删除重复行基于特定数据列或者列的作何删除重复行删除重复行并保留重复行中的最后一行pandas删除所有重复行(不进行数据保留)