mysql - order/group by 子句中使用的列在 select 子句中是否是强制的?

标签 mysql sql oracle

Oracle 数据库允许以下查询:

select col1 from table order by col2;

select count(col1) from table group by col2;

看来 order/group by 子句中的列不需要位于 select 子句中。然而,tutorialspoint: SQL - ORDER BY Clause否则告诉我。那么上面的内容只是 Oracle 特有的吗?

最佳答案

这个教程完全是错误的。

order by 可以包含查询对象中的任何列,无论它们是否在选择列表中。

group by 则相反。选择列表中的任何非聚合列都必须包含在 group by 中。

关于mysql - order/group by 子句中使用的列在 select 子句中是否是强制的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27976643/

相关文章:

mysql - SQL LEFT JOIN 不过滤

mysql:一次查询更新多条记录

MySQL select语句导致删除后触发器始终为空

php - 如何使用 Jquery Ajax 将 Select 值发送到 PHP?

oracle - 页面项目值内不允许逗号?顶尖

sql - Oracle SQL Developer - 添加外键约束

Oracle 更新/插入卡住,数据库 CPU 占用 100%,并发性高,来自客户端的 SQL*Net 等待消息

mysql - 如何计算每个类别的项目?

sql - 如何在一个命令中将一个表中的自动递增 id 插入到另一个表中(使用返回)?

sql - 数据库表中多列的 Presto MD5 哈希