sqlite如何添加另一个子查询?

dDo

我在sqlite查询中:

   从不存在的测试中删除
            SELECT * FROM(从
                   SELECT GROUP BY z SELECT MAX(a))
一切正常。如果另一行具有相同的“ a”最大值,则问题开始。在这种情况下,不会删除任何行。如何添加另一个条件(子查询)-当两个相同的最大值相同时,b列中的数字确定应删除的行数?

福帕斯

如果你想保持与最大的行a每个z并删除其他人,那么你可以使用EXISTS

DELETE FROM test
WHERE EXISTS (
  SELECT 1 FROM test t
  WHERE t.z = test.z AND a > test.a
)

或使用相关子查询:

DELETE FROM test
WHERE a < (SELECT MAX(t.a) FROM test t WHERE t.z = test.z)

ROW VALUES与运算符配合使用IN

DELETE FROM test
WHERE (z, a) NOT IN (SELECT z, MAX(a) FROM test GROUP BY z)

编辑:

如果您有另一列b用于解决联系,以防万一有多于1个行且具有相同的最大值,请同时a使用ROW_NUMBER()RANK()窗口函数:

DELETE FROM test
WHERE (z, a, b) IN (
  SELECT z, a, b
  FROM (
    SELECT z, a, b, ROW_NUMBER() OVER (PARTITION BY z ORDER BY a DESC, b DESC) rn
    FROM test
  ) t
  WHERE rn > 1  
)

或删除与rowidrowid的最大行数不同的所有行ab如果有联系,则删除最大z

DELETE FROM test
WHERE rowid <> (SELECT t.rowid FROM test t WHERE t.z = test.z ORDER BY t.a DESC, t.b DESC LIMIT 1)

或搭配EXISTS

DELETE FROM test
WHERE EXISTS (
  SELECT 1 FROM test t
  WHERE (t.z = test.z) AND (t.a > test.a OR (t.a = test.a AND t.b > test.b))
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

另一个子查询问题

来自分类Dev

如何检查一个子查询是否是Oracle SQL中另一个子查询的子集?

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

在添加另一个子视图之前等待一个 addSubview 成功

来自分类Dev

(SQLITE)如何使用子查询将来自另一个表的总和相加

来自分类Dev

(SQLITE)如何使用子查询将来自另一个表的总和相加

来自分类Dev

在自定义主题中从另一个子菜单添加子菜单

来自分类Dev

单击另一个子菜单时如何关闭一个子菜单

来自分类Dev

如何将一个子域重写为另一个子域?

来自分类Dev

如何从另一个子域发送一个子域的综合浏览量

来自分类Dev

VBA EXCEL:如何在另一个子例程中调用一个子例程?

来自分类Dev

如何知道另一个子组件中一个子组件的事件

来自分类Dev

如何在DB2中将日期列表与另一个子查询联接

来自分类Dev

如何基于另一个zip的内容创建一个子zip?

来自分类Dev

从另一个子执行子

来自分类Dev

当另一个子进程完成时,如何终止子进程?

来自分类Dev

使用python multiprocessing子进程如何终止另一个子进程?

来自分类Dev

如何从Sitecore中的另一个子布局访问子布局控件?

来自分类Dev

如何将子组件路由到另一个子组件

来自分类Dev

基于另一个子帧

来自分类Dev

从另一个子域访问Cookie

来自分类Dev

Mongo:如何将另一个子文档插入现有文档

来自分类Dev

如何将工作表变量传递给另一个子

来自分类Dev

如何访问另一个子组件中插槽的内容

来自分类Dev

如何从子组件访问 Angular 4 中的另一个子组件

来自分类Dev

如何通过搜索另一个子值来更新某个值?

来自分类Dev

如何转发到另一个子页面

来自分类Dev

如何识别范围是否包含一个子字符串但不包含另一个

Related 相关文章

  1. 1

    另一个子查询问题

  2. 2

    如何检查一个子查询是否是Oracle SQL中另一个子查询的子集?

  3. 3

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  4. 4

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  5. 5

    在添加另一个子视图之前等待一个 addSubview 成功

  6. 6

    (SQLITE)如何使用子查询将来自另一个表的总和相加

  7. 7

    (SQLITE)如何使用子查询将来自另一个表的总和相加

  8. 8

    在自定义主题中从另一个子菜单添加子菜单

  9. 9

    单击另一个子菜单时如何关闭一个子菜单

  10. 10

    如何将一个子域重写为另一个子域?

  11. 11

    如何从另一个子域发送一个子域的综合浏览量

  12. 12

    VBA EXCEL:如何在另一个子例程中调用一个子例程?

  13. 13

    如何知道另一个子组件中一个子组件的事件

  14. 14

    如何在DB2中将日期列表与另一个子查询联接

  15. 15

    如何基于另一个zip的内容创建一个子zip?

  16. 16

    从另一个子执行子

  17. 17

    当另一个子进程完成时,如何终止子进程?

  18. 18

    使用python multiprocessing子进程如何终止另一个子进程?

  19. 19

    如何从Sitecore中的另一个子布局访问子布局控件?

  20. 20

    如何将子组件路由到另一个子组件

  21. 21

    基于另一个子帧

  22. 22

    从另一个子域访问Cookie

  23. 23

    Mongo:如何将另一个子文档插入现有文档

  24. 24

    如何将工作表变量传递给另一个子

  25. 25

    如何访问另一个子组件中插槽的内容

  26. 26

    如何从子组件访问 Angular 4 中的另一个子组件

  27. 27

    如何通过搜索另一个子值来更新某个值?

  28. 28

    如何转发到另一个子页面

  29. 29

    如何识别范围是否包含一个子字符串但不包含另一个

热门标签

归档