Home > Database > Mysql Tutorial > How to Aggregate Non-Grouped Columns in MySQL 5.6?

How to Aggregate Non-Grouped Columns in MySQL 5.6?

Susan Sarandon
Release: 2024-11-29 04:35:13
Original
353 people have browsed it

How to Aggregate Non-Grouped Columns in MySQL 5.6?

Aggregating without Groups: Solutions for MySQL 5.6

In MySQL 5.6, the ANY_VALUE() function, which allows for aggregating non-grouped columns, is unavailable. This poses a challenge when migrating queries from MySQL 5.7 to 5.6.

MySQL Mode Modification

One solution is to modify the SQL mode for the production environment. By setting the ONLY_FULL_GROUP_BY mode to empty, it will temporarily disable the restriction on aggregating non-grouped columns.

SET SESSION sql_mode = '';
/* Your query here */
SET SESSION sql_mode = @mode;
Copy after login

Alternative Aggregation Methods

However, it is important to note that the query in question might not be ideal. It returns a random row from the "images" table for each country.

A more reliable approach is to select a specific image row based on a criterion, such as the "id" column.

SELECT c.id, c.name, i.*
FROM countries c
LEFT JOIN (
  SELECT MIN(id) id, country_id
  FROM images
  GROUP BY country_id
) first ON c.id = first.country_id
LEFT JOIN images i ON first.id = i.id
Copy after login

This query will return one row per country with a predictable image choice. It utilizes the "id" column to select the "first" image for each country.

The above is the detailed content of How to Aggregate Non-Grouped Columns in MySQL 5.6?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template