背景资料
序数位置表示法,AKA ordinals,是基于子句中列列表中的列顺序的列简写SELECT
,而不是列名或列别名。该ORDER BY
子句通常支持,一些数据库(MySQL 3.23+、PostgreSQL 8.0+)也支持该GROUP BY
子句的语法。
这是使用序数的示例:
GROUP BY 1, 2
ORDER BY 1, 2
使用起来不好,因为它会使查询变得脆弱——如果列顺序发生变化,则需要更新序数,否则您的查询将不会返回您认为的结果。GROUP BY
如果这些位置的列包含在聚合中,则很可能在使用时会出现错误...
问题
我能想到的唯一好处是通过网络发送的数据更少,如果您不使用存储过程或函数(这使得序数使用对我来说毫无意义)。我还缺少其他好处吗?