gpt4 book ai didi

android - 如何删除某些字段中具有重复数据的连续行(在 SQLite 中)?

转载 作者:IT王子 更新时间:2023-10-29 06:26:10 29 4
gpt4 key购买 nike

例如,假设您有一个这样的表:

-------------------------------
Date Name Type
2017-01-01 John 1
2017-01-02 John 1
2017-01-03 Mike 2
2017-01-04 John 1
-------------------------------

我希望能够按类型分组以获得如下结果

-------------------------
Name Type
John 1
Mike 2
John 1
-------------------------

如您所见,前两行已分组,因为它们之间没有不同的类型,就像您在手机通话记录中看到的那样。

我如何在 SQLite 中实现它?

最佳答案

以下查询通过对上一行中相同的 NameType 值(如果有)的 NOT EXISTS 实现此目的。通过查找严格小于当前行日期的最大日期找到上一行。

SELECT *
FROM tbl t1
WHERE NOT EXISTS (
SELECT *
FROM tbl t2
WHERE t2.Name = t1.Name
AND t2.Type = t1.Type
AND t2.`Date` = (SELECT MAX(`Date`)
FROM tbl t3
WHERE t3.`Date` < t1.`Date`)
);

SQL Fiddle 演示: http://sqlfiddle.com/#!5/0700cb/3

关于android - 如何删除某些字段中具有重复数据的连续行(在 SQLite 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260703/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com