我想根据另一列

时间:2017-04-24 05:05:03

标签: sql oracle

假设我有一个这样的表:

Column A | Column B
---------+---------
   1     |    A
   1     |    B
   2     |    A
   2     |    A
   2     |    C
   3     |    A
   3     |    A
   3     |    B
   3     |    B

我想编写一个查询,按照这样的方式对值进行分组:

Column A | Column B
---------+---------
   1     |    A
   1     |    B
   2     |    A
   2     |    C
   3     |    A
   3     |    B

2 个答案:

答案 0 :(得分:0)

您正在寻找DISTINCTDISTINCT会从查询结果中删除重复项。

select distinct * from mytable;

另一种选择是聚合。您可以通过分组获得每个a和b的结果行。但是,当您需要聚合时,例如,您只能使用此功能。行数,总和,平均值等,因为否则您可以使用DISTINCT如图所示,并且应该更喜欢它。

select a, b, count(*) from mytable group by a, b;

答案 1 :(得分:0)

您需要在两个列上使用GROUP BY

select col1, col2 from test group by col1,col2;

请参阅SQLFIDDLE