这个错误是因为你的 SQL 查询中使用了 GROUP BY,而在 SELECT 列表中的某些列不在 GROUP BY 子句中,并且没有使用聚合函数。这在 MySQL 的新版本中是不允许的,默认情况下启用了'only_full_group_by'模式。

要解决这个问题,你可以做以下几个选择之一:

  1. 将 SELECT 列表中的所有列都添加到 GROUP BY 子句中:
SELECT 
  d.`occupation_v` AS '职业类型',
  d.`customer_id`,
  d.`age` AS '年龄',
  d.`mon_salary_v` AS '月收入' 
FROM
  DATA$ d 
GROUP BY d.`occupation_v`, d.`customer_id`, d.`age`, d.`mon_salary_v`
ORDER BY d.`age` DESC 
LIMIT 5;
  1. 使用聚合函数对非 GROUP BY 列进行聚合操作:
SELECT 
  d.`occupation_v` AS '职业类型',
  MAX(d.`customer_id`) AS 'customer_id',
  MAX(d.`age`) AS '年龄',
  MAX(d.`mon_salary_v`) AS '月收入' 
FROM
  DATA$ d 
GROUP BY d.`occupation_v`
ORDER BY MAX(d.`age`) DESC 
LIMIT 5;

选择哪种方法取决于你的需求和数据的特点。请根据实际情况选择适合的方法。

MySQL 错误 1055:

原文地址: https://www.cveoy.top/t/topic/qsR8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录