假设我有一个这样的表:我想组根据条件对另一列一个列
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
假设我有一个这样的表:我想组根据条件对另一列一个列
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
您正在寻找DISTINCT
。 DISTINCT
从查询结果中删除重复项。
select distinct * from mytable;
另一种方法是聚合。按a和b分组,可以得到结果行。但是,只有当您需要聚合时,才会使用此功能,例如行数,总和,平均值等,因为否则您可以使用DISTINCT
如图所示,应该更喜欢它。
select a, b, count(*) from mytable group by a, b;
我得到一个错误,ORA-00913:值太多 – user3769820
然后你的查询与我的不同。显示你的尝试。 –
我得到一个错误,ORA-00913:太多的值 – user3769820
你正在使用'oracle',所以你应该用相关标签重新提出问题。 但是,如果您正在正确编写列名和表名,那么查询应该与oracle一起使用。 – Riad
为什么GROUP BY在不涉及集合函数的情况下? – jarlh
请提供你是想组在什么条件。示例表结构不能清楚地说明条件是什么。 – jon3laze