Я пытаюсь написать простой запрос, который группирует по дням, заполняет один столбец с количеством «действительных» и «работающих» точек за этот день, а другой столбец - с количеством всех «действительных» точек. Таким образом, столбцы результата будут: «День», «RunNum», «TotalNum». Он читает из таблицы с колонками «TheDate», «Running» и «ValidPoint».
Я могу создать столбцы «RunNum» и «TotalNum» по отдельности, изменив оператор «FROM» в соответствии с конкретными критериями столбца. Тем не менее, я начинающий с SQL и мне нужно несколько советов о том, как читать два разных критерия из одной таблицы.
Это то, что я написал для создания RunNum:
SELECT TheDate AS Day, count(Running) AS RunNum
FROM Source_Table
WHERE Running = "Runtime" AND ValidPoint = "yes"
GROUP BY TheDate;
И это для создания TotalNum:
SELECT TheDate AS Day, count(Running) AS TotalNum
FROM Source_Table
WHERE ValidPoint = "yes"
GROUP BY TheDate;
Я пытался использовать метод SUM (CASE WHEN ...), описанный в этом посте , но он продолжал выдавать сообщение об ошибке синтаксиса, когда я пытался запустить его:
SELECT TheDate As Day, SUM(CASE WHEN Running = "Runtime" THEN 1 ELSE 0 END) AS RunNum, COUNT(Running) AS TotalNum
FROM Source_Table
WHERE ValidPoint = "yes"
GROUP BY TheDate;
Я подозреваю, что мне понадобится использовать табличные "псевдонимы" в операторе from, но все, что я читал о них до сих пор, сбивает с толку. Любая помощь или руководство в правильном направлении для дальнейших исследований будет высоко ценится. Спасибо, что нашли время, чтобы прочитать это!