根据两列选择一行,其中一列具有ID,另一列具有特定值

文克·克里什(Venk Krish)

我想根据特定的列值和SQL中的唯一id列选择行

我的表如下

    Acc_id | Name   |  Status    | value
    ----------------------------------------
      101  |  com   |  Active    |  1
      202  |  net   |  Active    |  2
      202  |  net   |  New       |  3
      303  |  com   |  Active    |  1 
      303  |  com   |  New       |  4
      303  |  com   |  Inactive  |  2
      404  |  org   |  Active    |  5
      404  |  org   |  Inactive  |  6
      505  |  gov   |  New       |  2
      505  |  gov   |  Active    |  3 

我希望得到下表

    Acc_id | Name   |  Status    | value
    ----------------------------------------
      202  |  net   |  Active    |  2
      202  |  net   |  New       |  3
      303  |  com   |  Active    |  1 
      303  |  com   |  New       |  4
      505  |  gov   |  New       |  2
      505  |  gov   |  Active    |  3 

如您在上方看到的,对于来自“ Acc_id”列和具有“ Status”列的相同ID,仅选择了“ New”和“ Active”

马哈茂德·加马尔(Mahmoud Gamal)

试试这个:

SELECT
  t1.*
FROM table1 AS t1
INNER JOIN
(
  SELECT Acc_id
  FROM table1
  WHERE status IN('Active', 'New')
  GROUP BY Acc_id
  HAVING COUNT(DISTINCT status) = 2
) AS t2 ON t1.Acc_id = t2.Acc_id 
WHERE t1.status IN('Active', 'New');

HAVING COUNT(DISTINCT status) = 2WHERE status IN('Active', 'New')将确保所选择的Acc_id只有两种状态active,并new没有更多的,则JOIN与原来的表来获取列的结果。

这将为您提供:

| ACC_ID | NAME | STATUS | VALUE |
|--------|------|--------|-------|
|    202 |  net | Active |     2 |
|    202 |  net |    New |     3 |
|    303 |  com | Active |     1 |
|    303 |  com |    New |     4 |
|    505 |  gov |    New |     2 |
|    505 |  gov | Active |     3 |

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询以选择记录在其中一列中值为= 0且在另一列中具有唯一ID的行

来自分类Dev

CQL(cassandra)-仅选择其中一列中具有最大值的行

来自分类Dev

给定另一列,选择一列具有不同值的行

来自分类Dev

根据另一列选择具有最高ID的行

来自分类Dev

选择在一列中具有相同值而在另一列中具有不同值的行

来自分类Dev

如果某一列包含特定值,则选择具有相同ID的所有行

来自分类Dev

以特定顺序在另一列中选择具有不同值的 ID

来自分类Dev

从表中选择所有行,除了具有相同 id 的另一个表中的行在另一列中具有特定值

来自分类Dev

选择另一列中具有相同ID但值不同的行

来自分类Dev

在表的另一列中选择具有相同id但不同值的行

来自分类Dev

根据另一列具有输入数据框的值替换一列的值

来自分类Dev

根据另一列具有输入数据框的值替换一列的值

来自分类Dev

打印第一行的第一列和最后一行的第二列,其中最后一列具有相同的值

来自分类Dev

SQL选择在另一列中具有至少一个特定值的所有非唯一行

来自分类Dev

根据另一列更新具有不同值的同一列

来自分类Dev

获取列表的所有行,其中一列具有唯一性

来自分类Dev

使HTML具有相等高度的两列,其中一列可滚动

来自分类Dev

当其中一列为NULL /空白时,SQL Join具有两列

来自分类Dev

绘制两列数据,其中一列在 ggplot 中具有反向 y 比例

来自分类Dev

将一列复制到具有重复值的另一行

来自分类Dev

检查一列中的所有ID在另一列,不同的表中是否具有特定值

来自分类Dev

DQL选择具有一列MAX值的每一行

来自分类Dev

选择具有唯一列值的行

来自分类Dev

具有两列的表,其中一列顺序增加,而另一列显示相同的数字,直到达到限制

来自分类Dev

计算一列在另一列中是否具有特定值

来自分类Dev

sql:使用单个查询在另一列中选择具有相同列值的行

来自分类Dev

T-SQL选择重复的行,其中至少一列具有值

来自分类Dev

在python中与另一列具有相同值的行中选择具有最高列值的csv行

来自分类Dev

获取列表的所有行,其中一列具有不同

Related 相关文章

  1. 1

    SQL查询以选择记录在其中一列中值为= 0且在另一列中具有唯一ID的行

  2. 2

    CQL(cassandra)-仅选择其中一列中具有最大值的行

  3. 3

    给定另一列,选择一列具有不同值的行

  4. 4

    根据另一列选择具有最高ID的行

  5. 5

    选择在一列中具有相同值而在另一列中具有不同值的行

  6. 6

    如果某一列包含特定值,则选择具有相同ID的所有行

  7. 7

    以特定顺序在另一列中选择具有不同值的 ID

  8. 8

    从表中选择所有行,除了具有相同 id 的另一个表中的行在另一列中具有特定值

  9. 9

    选择另一列中具有相同ID但值不同的行

  10. 10

    在表的另一列中选择具有相同id但不同值的行

  11. 11

    根据另一列具有输入数据框的值替换一列的值

  12. 12

    根据另一列具有输入数据框的值替换一列的值

  13. 13

    打印第一行的第一列和最后一行的第二列,其中最后一列具有相同的值

  14. 14

    SQL选择在另一列中具有至少一个特定值的所有非唯一行

  15. 15

    根据另一列更新具有不同值的同一列

  16. 16

    获取列表的所有行,其中一列具有唯一性

  17. 17

    使HTML具有相等高度的两列,其中一列可滚动

  18. 18

    当其中一列为NULL /空白时,SQL Join具有两列

  19. 19

    绘制两列数据,其中一列在 ggplot 中具有反向 y 比例

  20. 20

    将一列复制到具有重复值的另一行

  21. 21

    检查一列中的所有ID在另一列,不同的表中是否具有特定值

  22. 22

    DQL选择具有一列MAX值的每一行

  23. 23

    选择具有唯一列值的行

  24. 24

    具有两列的表,其中一列顺序增加,而另一列显示相同的数字,直到达到限制

  25. 25

    计算一列在另一列中是否具有特定值

  26. 26

    sql:使用单个查询在另一列中选择具有相同列值的行

  27. 27

    T-SQL选择重复的行,其中至少一列具有值

  28. 28

    在python中与另一列具有相同值的行中选择具有最高列值的csv行

  29. 29

    获取列表的所有行,其中一列具有不同

热门标签

归档