社区首页 >问答首页 >删除重复的行,从而相互跟随。

删除重复的行,从而相互跟随。
EN

Stack Overflow用户
提问于 2017-08-22 10:08:02
回答 2查看 61关注 0票数 1

这很难表述,所以我只举一个例子,欢迎你编辑我的问题和标题。

假设我有一张桌子

代码语言:javascript
代码运行次数:0
复制
   flag id  value datetime
0   b   1   343   13
1   a   1   23    12 
2   b   1   21    11
3   b   1   32    10
4   c   2   43    11
5   d   2   43    10
6   d   2   32     9
7   c   2   1      8

对于,每个 id,我想按flag列对表进行调整,以便所有重复的flag值都按照彼此的顺序折叠成一行,并进行sum聚合。期望结果

代码语言:javascript
代码运行次数:0
复制
   flag id  value
0   b   1   343
1   a   1   23
2   b   1   53
3   c   2   75
4   d   2   32
5   c   2   1  

P.S:我找到了像CONDITIONAL_CHANGE_EVENT这样的函数,它们似乎能够做到这一点,但是它们在文档中的例子对我不起作用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-22 10:34:46

使用不同的行号方法,根据连续的行标志是相同的来分配组。然后,使用一个运行的和。

代码语言:javascript
代码运行次数:0
复制
select distinct id,flag,sum(value) over(partition by id,grp) as finalvalue
from (
select t.*,row_number() over(partition by id order by datetime)-row_number() over(partition by id,flag order by datetime) as grp
from tbl t
) t
票数 3
EN

Stack Overflow用户

发布于 2017-08-22 22:19:16

下面是一种使用CONDITIONAL_CHANGE_EVENT的方法:

代码语言:javascript
代码运行次数:0
复制
select
    flag,
    id,
    sum(value) value
from (
    select
        conditional_change_event(flag) over (order by datetime desc) part,
        flag,
        id,
        value
    from so
) t
group by part, flag, id
order by part;

由于order by datetime的原因,结果与问题中所述的预期结果不同。为行号添加一个单独的列,并对其进行排序,从而得到正确的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45824306

复制
相关文章
Linux删除重复行
第一,用sort+uniq,注意,单纯uniq是不行的。 sort -n test.txt | uniq
阳光岛主
2019/02/19
11.7K0
MySQL | 查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)
逍遥子大表哥
2021/12/17
5.8K0
MySQL | 查找删除重复行
如何删除相邻连续的重复行?
根据题意的要求,把要求的结果在原表上用黄色标出,通过观察发现连续登录的某一个页面只保留第一次访问的记录。解题思路是要通过查询,利用信息差过滤掉同一个页面第一次登录后的连续访问记录。
猴子数据分析
2022/07/13
4.6K0
如何删除相邻连续的重复行?
Linux 删除文本中的重复行
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
阳光岛主
2019/02/19
8.6K0
MySQL 如何查找删除重复行?
第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:
Bug开发工程师
2020/03/12
6.6K0
MySQL 如何查找删除重复行?
MySQL 如何查找删除重复行?
第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:
芋道源码
2019/10/22
5.6K0
Linux实用技巧——删除重复行
0. 前言 对于删除文件中的重复行,比如处理如下文件 [root@mobius ~]$cat file_test.txt aaa bbbbb ccccc 123 aaaaa 123 bbb aaa 需要得到的删除为: 123 aaa aaaaa bbb bbbbb ccccc 下面给出四种方法 1. sort -u方法 有关 sort 命令操作见Linux 工作常用命令笔记-sort排序 解决方案如下: [root@mobius ~]$sort -u file_test.txt 123 aaa aaaaa
莫斯
2020/09/10
2.8K0
VBA:根据指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要删除第一行数据,保留后一行的数据。
Exploring
2022/09/20
3.2K0
VBA:基于指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要保留最后测试的数据。之前通过拷贝行的方式保留最后一行的数据(参见文末的延伸阅读1),但运行效率较低。目前通过借助数组和字典达到删除重复行的效果。
Exploring
2022/12/18
3.4K0
VBA:基于指定列删除重复行
必备神技能 | MySQL 查找删除重复行
来源:码农有道 ID:b497155298 本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题) 如何查找重复行 第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本: create table test(id int not null primary key, da
小小科
2018/05/04
4.2K0
必备神技能 | MySQL 查找删除重复行
必备神技能 | MySQL 查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)
马哥linux运维
2018/11/22
2.8K0
必备神技能 | MySQL 查找删除重复行
spark按某几列删除dataframe重复行
想根据 id 和 lable 来删除重复行,即删掉 id=2 且 lable=2 的重复行。利用 distinct 无法删除
机器学习和大数据挖掘
2019/07/02
2.3K0
如何用 awk 删除文件中的重复行【Programming】
了解如何在不排序或更改其顺序的情况下使用awk'!visited $ 0 ++'。
Potato
2019/11/09
8.7K0
如何用 awk 删除文件中的重复行【Programming】
删除重复值,不只Excel,Python pandas更行
在Excel中,我们可以通过单击功能区“数据”选项卡上的“删除重复项”按钮“轻松”删除表中的重复项。确实很容易!然而,当数据集太大,或者电子表格中有公式时,这项操作有时会变得很慢。因此,我们将探讨如何使用Python从数据表中删除重复项,它超级简单、快速、灵活。
fanjy
2022/04/13
6.1K0
删除重复值,不只Excel,Python pandas更行
Word VBA技术:删除表格中内容相同的重复行
上面的代码区分大小写,即第一列中内容相同但大小写不同不会被删除。下面的代码操作时不区分大小写:
fanjy
2023/02/24
4.5K0
使用VBA删除工作表多列中的重复行
自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。
fanjy
2022/11/16
11.4K0
使用VBA删除工作表多列中的重复行
删除重复字符
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.7K0
Word VBA技术:删除表格中内容相同的重复行(加强版)
在《Word VBA技术:删除表格中内容相同的重复行》中,我们演示了如何使用代码删除已排序表中第1列内容相同的行。然而,如果表格中第1列没有排序,那么如何删除这列中内容相同的行呢?
fanjy
2023/02/24
2.6K0
python删除行_python 删除文件中指定行
代码适用情况:xml文件,循环出现某几行,根据这几行中的某个字段删掉这几行这段代码的作用删除jenkins中config.xml中在自动生成pipline报错的时的回滚 start = ‘
全栈程序员站长
2022/09/02
3.8K0
点击加载更多

相似问题

查找相互重复的行

26

Jquery元素相互跟随。

24

删除跟随给定模式的行

12

选择相互跟随者

20

VBA删除相互抵消的行

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档