-- 示例代码:符合 only_full_group_by 模式的查询
-- 解释:在启用了 only_full_group_by 的情况下,MySQL 要求 GROUP BY 子句中的所有列都必须出现在聚合函数中或在 SELECT 列表中。
-- 下面的查询展示了如何正确地使用 GROUP BY 和聚合函数。
-- 假设有一个名为 `sales` 的表,包含以下字段:
-- id: 销售记录的唯一标识
-- product_id: 产品 ID
-- sale_date: 销售日期
-- quantity: 销售数量
-- price: 单价
-- 查询每个产品的总销售数量和平均单价
SELECT
product_id,
SUM(quantity) AS total_quantity,
AVG(price) AS average_price
FROM
sales
GROUP BY
product_id;
-- 如果你需要选择不在 GROUP BY 子句中的其他非聚合列,则需要确保这些列是唯一的或使用聚合函数。
-- 例如,如果你还想选择第一个销售日期,可以使用 MIN 或 MAX 函数:
SELECT
product_id,
SUM(quantity) AS total_quantity,
AVG(price) AS average_price,
MIN(sale_date) AS first_sale_date
FROM
sales
GROUP BY
product_id;
only_full_group_by
模式后,MySQL 会严格要求 GROUP BY
子句中的所有列都必须出现在 SELECT
列表中,或者被聚合函数处理。GROUP BY
子句中的其他非聚合列,可以通过使用聚合函数(如 MIN()
、MAX()
)来处理这些列。上一篇:重启mysql服务命令
下一篇:ubuntu 卸载mysql
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站