MySQL объединяет select sum и select query

0

Я хочу суммировать 4 ячейки для каждой строки на основе предыдущего запроса, который уменьшит выбор до важных строк.

В основном мне нужно объединить эти два запроса (которые работают сами по себе):

SELECT columnx, SUM('column1'+ 'column2' + 'column3' + 'column4') as total 
                FROM table GROUP BY columnx


SELECT * FROM (SELECT * FROM table ORDER BY columny DESC LIMIT 5) t 
                ORDER BY CASE
                when 'pos' = 'PG' then 1
                when 'pos' = 'SG' then 2
                when 'pos' = 'SF' then 3
                when 'pos' = 'PF' then 4
                else 5
                end asc

Я попытался заменить "table" на второй запрос, но, вероятно, это не так, потому что я получаю ошибки здесь.

SELECT columnx, SUM('column1'+ 'column2' + 'column3' + 'column4') as total FROM 
                  (( SELECT * FROM (SELECT * FROM table ORDER BY columny DESC LIMIT 5) t 
                  ORDER BY CASE
                  when 'pos' = 'PG' then 1
                  when 'pos' = 'SG' then 2
                  when 'pos' = 'SF' then 3
                  when 'pos' = 'PF' then 4
                  else 5
                  end asc) 
               GROUP BY columnx
  • 0
    Можем ли мы увидеть некоторые примеры данных здесь? Трудно догадаться, что ты пытаешься сделать.
Теги:
select
sum

1 ответ

1
Лучший ответ

Вы должны были создать псевдоним для table замены блока в первом запросе.

SELECT u.columnx, SUM(u.'column1'+ u.'column2' + u.'column3' + u.'column4') as total 
FROM (SELECT t.* FROM (SELECT * FROM table ORDER BY columny DESC LIMIT 5) t 
ORDER BY CASE
 WHEN t.'pos'='PG' THEN 1
 WHEN t.'pos'='SG' THEN 2
 WHEN t.'pos'='SF' THEN 3
 WHEN t.'pos'='PF' THEN 4
ELSE 5
END ASC) u GROUP BY u.columnx
  • 0
    Спасибо. 100% работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню