我只是想简单地执行:
select col1, col2, col3, col4, col5 from table group by col3
如果我尝试:
select col1, col2, col3, col4, col5 from table group by col1, col2, col3, col4, col5
它没有给出所需的输出。
我已经搜索过了,但没有找到任何解决方案。我发现的所有查询都使用一些类型的Add()或count(*)函数。
在Oracle中,是否不可能简单地按一列分组?
更新:
对不起,我表达得不够清楚。
我的表:
+--------+----------+-------------+-------+
| id | col1 | col2 | col3 |
+--------+----------+-------------+-------+
| 1 | 1 | some text 1 | 100 |
| 2 | 1 | some text 1 | 200 |
| 3 | 2 | some text 1 | 200 |
| 4 | 3 | some text 1 | 78 |
| 5 | 4 | some text 1 | 65 |
| 6 | 5 | some text 1 | 101 |
| 7 | 5 | some text 1 | 200 |
| 8 | 1 | some text 1 | 200 |
| 9 | 6 | some text 1 | 202 |
+--------+----------+-------------+-------+
通过运行以下查询:
select col1, col2, col3 from table where col3='200' group by col1;
我将获得以下期望的输出:
+--------+----------+-------------+-------+
| id | col1 | col2 | col3 |
+--------+----------+-------------+-------+
| 2 | 1 | some text 1 | 200 |
| 3 | 2 | some text 1 | 200 |
| 7 | 5 | some text 1 | 200 |
+--------+----------+-------------+-------+
order by
代替group by
?select col1,col2,col3,col4,col5 from table order by col3
如果有多个列,则无法按单个列进行分组。 想想看,如果第一行中有 a、b、c,第二行中有 x、y、c。而我们只按第三列分组...系统该选择哪个作为第1和第2列?a还是x?b还是y?系统无法为您决定,因此无效。(虽然在旧版本的MySQL中有效,在当前版本中如果更改设置也是有效的) - xQbert