SQL按多列分组,但在子句中给出一个范围值

SQL按多列分组,但在子句中给出一个范围值,sql,postgresql,group-by,Sql,Postgresql,Group By,有一个PostgreSQL语句,其中选择了多个字段并应将其分组 select Max(field1),field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11 from table2 group by field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11 我是否可以按此查询分组,而不提供G

有一个PostgreSQL语句,其中选择了多个字段并应将其分组

select Max(field1),field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11
from table2
group by field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11
我是否可以按此查询分组,而不提供GROUPBY子句中的所有字段名?差不多

select Max(field1),field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11
from table2
group by [2-12]

Postgres允许您使用数字作为列引用,但不能使用范围。因此,您可以:

select Max(field1), field1, field2, field3, field4, field5, field6,
       field7, field8, field9,field10, field11
from table2
group by 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;

是的,它允许数字。是否有任何其他数据库服务器允许group by中的范围?否,并且数字不是ANSI SQL。@MuhammadImranTariq。毕竟,许多数据库在某种程度上是基于Postgres代码库的。然而,这不是标准的SQL。必须按这么多列进行分组的情况很少。实际上,我想知道哪一个更容易,只需从select子句中复制并粘贴列,或者计算其中的列数并相应地键入[2-12]-那些对其中一个具有函数依赖关系的分组列不需要包含在GROUPBY子句中。