【发布时间】:2014-03-13 18:35:06
【问题描述】:
我有一个如下所示的表格:
NAME Col1 Col2 Col3
Tim 1 2 3
Tim 1 1 2
Tim 2 1 2
Dan 1 2 3
Dan 2 2 1
Dan 2 1 3
我正在尝试执行一个 SELECT 命令,结果如下:
NAME Col1 Col2 Col3
Tim 2 1 2
Dan 2 2 1
所以我想要不同的名称,但选择所有四列,其中 Col1 = 2。 我在这里使用了解决方案来使不同的部分正常工作: SQL/mysql - Select distinct/UNIQUE but return all columns?
但是,当我在 select 语句的 WHERE 部分添加 add Col1 = '2' 时,不会返回 Col1 为 2 的所有名称,因为我认为它首先会看到一个不同的名称,而不是 1,所以会得到这个结果。
希望我说得通,有人可以提供帮助。很难解释并想出一个好的标题。谢谢!
【问题讨论】:
-
您有两列 col1 = 2 和 Name = 'Dan' 但您没有指定如何选择显示哪一列... Dan 2 2 1 Dan 2 1 3跨度>
-
不管是哪一个,只要它告诉我有一个 Col1 = 2 的 Dan 而不是得到 col1 = 1 的那个然后不显示 Dan。
-
然后不要选择所有行,只需`select name,col1 from table1 where col1=2'
-
这会给我 2 个 dans,因为有 2 个 col1 = 2。我只想要 1 个。
-
group by 仍然会给我 2 个 dans,因为我必须按所有选定的列(oracle)进行分组。