Расширенные параметры сразу после оператора SELECT в MySQL Query - PullRequest
1 голос
/ 04 мая 2011

Я довольно плохо знаком с программированием на MySQL, так что простите за все грубое и неприятное в моем коде.

У меня есть таблица (распределения), которая имеет следующее:

  • ID
  • job_id
  • user_id
  • день
  • часов

и некоторые другие поля, но они не важны.

Я хочу рассчитать общее количество ЧАСОВ каждый ДЕНЬ, используя этот один запрос.

т.

SELECT SUM(hours where day=mon) AS hours_mon, SUM(hours where day=tue) AS hours_tue..

Борясь с правильным синтаксисом, я вполне уверен, что это возможно.

На самом деле я бы предпочел не использовать 5 запросов или циклы PHP, как я делал бы в прошлом.

Заранее спасибо! :) 1030 * *

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

Попробуйте это (не проверено)

SELECT 
  SUM(hours) as hours, 
  CONCAT('hours_',day) as day 
FROM table 
GROUP BY day
1 голос
/ 04 мая 2011

Попробуйте с этим:

SELECT (SELECT SUM(HOURS) AS HOURS_MON FROM ALLOCATIONS WHERE DAY=MON), (SELECT SUM(HOURS) AS HOURS_TUE FROM ALLOCATIONS WHERE DAY=TUE)...
1 голос
/ 04 мая 2011

выберите день, сумму (часы) из группы распределений по дням

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