SQL Количество вхождений в столбце и вычисление суммы другого - PullRequest
0 голосов
/ 23 октября 2018

У меня есть производная таблица, которая имеет следующий формат:

    THENAME |    THESTATUS  | THECOST
    ----------------------------------        
      name1 |    statusX    | cost1.1
      name1 |    statusX    | cost1.2
      name2 |    statusZ    | cost2.1
      name2 |    statusZ    | cost2.1
      name3 |    statusY    | cost3.1
                   (...)
      nameN | status(X,Y,Z) | cost

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

Status Groups | Count of Names | Total Cost of Group
       X             2              10
       Y             5              20
       Z             4               5

, отображая общую стоимость каждого статуса и количество элементов в каждом статусе.

Стремление к чему-то вроде

SELECT
     thestatus, 
     COUNT(DISTINCT thestatus),
     SUM(thecost)
FROM THETABLE
GROUP BY thestatus

не работает, и я думаю, можно ли даже сгруппировать два столбца одновременно ...

РЕДАКТИРОВАТЬ - https://www.db -fiddle.com / f / bB1RSy8GV35FGEi3Lr1Tqw / 0

РЕДАКТИРОВАТЬ - Не уверен, что это версия MySQL или что, но в примерах данных я думаю, что он работает правильно, но не в реальнойзапрос.Было бы невозможно воссоздать всю схему и весь запрос, но, возможно, это что-то еще ...

Ответы [ 2 ]

0 голосов
/ 23 октября 2018
SELECT 

DISTINCT THESTATUS as 'Status groups',

COUNT(THENAME) AS 'Count of Names', 

SUM(THECOST) as 'Total Cost of Group' 

FROM THETABLE GROUP BY THESTATUS 
0 голосов
/ 23 октября 2018

вы можете попробовать, как показано ниже, удалить различные

SELECT
     THESTATUS, 
     COUNT(THENAME),
     SUM(THECOST)
FROM THETABLE
GROUP BY thestatus

демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...