【问题标题】:How to pick distinct row value based on column in sql/plsql如何根据 sql/plsql 中的列选择不同的行值
【发布时间】:2013-12-06 05:20:44
【问题描述】:

考虑这张表:

name  mark1 mark2 mark3
x      1      2    2
y      2      2    2
z      1      2    3

在这里,我需要选择非不同的,例如考虑第三行,它在 column2 中只包含一个“2”。为此如何编写SQL代码?我已经使用了 count 和 distinct 命令,但无法获得它。

【问题讨论】:

标签: mysql sql


【解决方案1】:

试试这个方法

SELECT * 
  FROM table1 
 WHERE mark1 <> mark2 
   AND mark1 <> mark3 
   AND mark2 <> mark3;

输出:

|姓名 |马克1 |马克2 |马克3 | |--------|--------|--------|--------| | z | 1 | 2 | 3 |

这里是SQLFiddle演示

【讨论】:

  • 有帮助吗?您的问题需要更多帮助吗?
【解决方案2】:

如果我足够理解你的问题,它会是这样的:

select * from mark where (mark1mark2 and mark1mark3 and mark2mark3);

【讨论】:

    【解决方案3】:

    如果您需要选择所有包含不相等值的列

    就像本例中的第 3 行

    SELECT * 
    FROM table a 
    WHERE a.m1<>a.m2 
      AND a.m2<>a.m3 
      AND a.m1<>a.m3
    

    see fiddle here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多