有没有办法在不指定列名的情况下按表的所有列进行分组?喜欢:
select * from table group by *
最佳答案
DISTINCT 关键字
我相信您正在尝试做的是:
SELECT DISTINCT * FROM MyFooTable;
如果您按所有列进行分组,您只是要求删除重复数据。
例如包含以下数据的表格:
id | value
----+----------------
1 | foo
2 | bar
1 | foo
3 | something else
如果您执行以下查询,该查询与 SELECT * FROM MyFooTable GROUP BY * 基本相同(如果您假设 * 表示所有列):
按 ID、值从 MyFooTable 组中选择 *;
id | value
----+----------------
1 | foo
3 | something else
2 | bar
它删除了所有重复值,这本质上使其在语义上与使用 DISTINCT 关键字相同,但结果的排序除外。例如:
从 MyFooTable 中选择 DISTINCT *;
id | value
----+----------------
1 | foo
2 | bar
3 | something else
关于按所有列进行 SQL 分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800910/