Mysql 如何在sql/plsql中根据列选择不同的行值

Mysql 如何在sql/plsql中根据列选择不同的行值,mysql,sql,Mysql,Sql,考虑下表: name mark1 mark2 mark3 x 1 2 2 y 2 2 2 z 1 2 3 这里,我需要选择非独立的,例如,考虑行三,其中在列2中只包含一个“2”。为此,如何编写SQL代码?我已经习惯了使用count和distinct命令,但无法获得它。这样试试 选择* 来自表1 其中mark1 mark2 和mark1 mark3 标记2和标记3; 输出: | NAME | MARK1 | MAR

考虑下表:

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

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

这样试试

选择*
来自表1
其中mark1 mark2
和mark1 mark3
标记2和标记3;
输出:

| NAME | MARK1 | MARK2 | MARK3 | |------|-------|-------|-------| | z | 1 | 2 | 3 | |名称|标记1 |标记2 |标记3| |------|-------|-------|-------| |z | 1 | 2 | 3|
如果您需要选择所有包含不相等值的列,请参见演示

就像这个例子中的第3行

SELECT * 
FROM table a 
WHERE a.m1<>a.m2 
  AND a.m2<>a.m3 
  AND a.m1<>a.m3
选择*
从表a
其中a.m1a.m2
和a.m2a.m3
和a.m1a.m3

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


从标记位置选择*(标记1Mark2、标记1Mark3和标记2Mark3)

请描述您实际想要的是什么?请更清楚地说明…count(distinct)是有效的表达式,它有帮助吗?你的问题需要更多的帮助吗?