使用Group by
SELECT Column1, Column2, Column3
FROM Table
GROUP BY Column1, Column2, Column3
ORDER BY Column1
和Distinct
SELECT DISTINCT Column1, Column2, Column3
FROM Table
ORDER BY Column1
这些查询不会出错,但不会对我的结果进行分组。我尝试按Column1分组。这些查询有什么问题?
提前谢谢。
编辑:
通过这些查询,我得到结果为
Value1 Value2
Value1 Value3
Value3 Value4
Value4 Value5
Value4 Value6
但我希望得到结果为
Value1 Value2
Value3 Value4
Value4 Value5
编辑:
对不起,我弄错了; Value5和Value6是唯一值,因此无法省略......
答案 0 :(得分:0)
示例测试显示结果:
SQL> create table junk (
2 col1 number,
3 col2 number,
4 col3 number
5 )
6 /
Table created.
SQL>
SQL> insert into junk values ( 100, 200, 300 );
1 row created.
SQL> insert into junk values ( 100, 200, 300 );
1 row created.
SQL> insert into junk values ( 100, 200, 400 );
1 row created.
SQL> insert into junk values ( 400, 200, 300 );
1 row created.
SQL>
SQL> commit;
Commit complete.
SQL>
SQL> select col1, col2, col3
2 from junk
3 group by col1, col2, col3
4 order by col1
5 /
COL1 COL2 COL3
---------- ---------- ----------
100 200 300
100 200 400
400 200 300
SQL> select distinct col1, col2, col3 from junk order by col1;
COL1 COL2 COL3
---------- ---------- ----------
100 200 300
100 200 400
400 200 300
SQL>
如果这不起作用,则显示类似于不同数据的内容......完全可重现且可重新运行。 (我使用过Oracle,但上面应该适用于任何数据库)
注意两个查询"如何组合"前2行(100,200,300)成为"单"行。那是什么发生了什么。如果您想要其他事情发生,请添加更多细节以解释;)
答案 1 :(得分:0)
我通过省略具有唯一值的列来修复我的问题。
SELECT DISTINCT Column1 FROM Table ORDER BY Column1