SQL显示所有列一列不同

时间:2015-05-20 18:55:00

标签: sql oracle select duplicates distinct

我有一个重复项目的表格...
我需要显示所有列的列表,没有重复项目的
例如我有这张表:

ID        CODE        RANK     TIME
1         12345        2       10:00
2         12345        2       11:00
3         98765        3       20:00
4         98765        3       22:00
5         66666        2       10:00
6         55555        5       11:00


结果,我需要:

ID         CODE       RANK     TIME
1         12345        2       10:00
3         98765        3       20:00
5         66666        2       10:00
6         55555        5       11:00


时间栏不重要,只有其中一个最显示...

4 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * FROM myTable WHERE ID IN(SELECT MIN(ID) FROM myTable GROUP BY Code)

答案 1 :(得分:0)

如果ID没有特定的方式显示(就像时间列一样),并且ID和TIME列总是以这种方式排序,这应该有效。

SELECT MIN(id), code, rank, MIN(time) FROM table GROUP BY code, rank

答案 2 :(得分:0)

因此,您只需要表中foo不重复的行。

CODE

这将返回不同的SELECT "CODE" FROM table1 GROUP BY "CODE" HAVING COUNT(*) = 1 - s。基于它们 - 因为它们是唯一的 - 您可以自行加入它以获取整行:

CODE

答案 3 :(得分:-1)

我认为您正在寻找DISTINCT子句;

SELECT DISTINCT
  column_1,
  column_2
FROM
  tbl_name;