group_concat с накопителем помещает последнюю строку


1

вам следует избегать свертывания

  select country, year, profit
  from (
    SELECT '1' seq, GROUP_CONCAT(country) as country, year, SUM(profit) AS profit
    FROM sales
    GROUP BY seq, year ;

    union 

    select '2', null, null, SUM(profit)
    SELECT 
    FROM sales
  ) t
  order bt t.seq, t.country

1

GROUP BY WITH ROLLUP - это немного сложно использовать, и иногда вы получаете неожиданные результаты.

Я советую вам использовать UNION и второй запрос, чтобы получить нужные результаты.

SELECT GROUP_CONCAT(country) as country, year, SUM(profit) AS profit
FROM sales
GROUP BY year ASC

UNION ALL 

SELECT NULL, NULL, SUM(profit) AS profit FROM sales
PHP, MySQL,

php,mysql,

0

Ответов: 2


1

вам следует избегать свертывания

  select country, year, profit
  from (
    SELECT '1' seq, GROUP_CONCAT(country) as country, year, SUM(profit) AS profit
    FROM sales
    GROUP BY seq, year ;

    union 

    select '2', null, null, SUM(profit)
    SELECT 
    FROM sales
  ) t
  order bt t.seq, t.country

1

GROUP BY WITH ROLLUP - это немного сложно использовать, и иногда вы получаете неожиданные результаты.

Я советую вам использовать UNION и второй запрос, чтобы получить нужные результаты.

SELECT GROUP_CONCAT(country) as country, year, SUM(profit) AS profit
FROM sales
GROUP BY year ASC

UNION ALL 

SELECT NULL, NULL, SUM(profit) AS profit FROM sales
PHP, MySQL,