Запрос: SUM, AVG 3 дня данных? - PullRequest
       7

Запрос: SUM, AVG 3 дня данных?

0 голосов
/ 07 февраля 2019

Вот мой sqlFiddle - http://sqlfiddle.com/#!9/a6ed6a/3

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

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

Я получаю данные по этому запросу:

SELECT foodName, calories, carbs, fat, protein, logDate
FROM Students
LEFT JOIN FoodLog
ON Students.id=FoodLog.studentID  
WHERE FoodLog.studentID  != ''
AND logDate >= '2019-02-03' AND logDate <= '2019-02-05'
ORDER BY `FoodLog`.`logDate`  ASC

Однако, когдаЯ пытаюсь получить данные с процентами, я получаю только один продукт, как показано в следующем запросе:

SELECT foodName, calories, carbs, fat, protein, logDate,
((SUM(carbs)*4)/SUM(calories))*100 AS percentCarbs
FROM Students
LEFT JOIN FoodLog
ON Students.id=FoodLog.studentID  
WHERE FoodLog.studentID  != ''
AND logDate >= '2019-02-03' AND logDate <= '2019-02-05'
ORDER BY `FoodLog`.`logDate`  ASC

Любая помощь будет высоко ценится!

Спасибо,

Тим

1 Ответ

0 голосов
/ 07 февраля 2019

Я полагаю, вы просто пропустили группу

SELECT foodName, calories, carbs, fat, protein, logDate,
((SUM(carbs)*4)/SUM(calories))*100 AS percentCarbs
FROM Students
LEFT JOIN FoodLog
ON Students.id=FoodLog.studentID  
WHERE FoodLog.studentID  != ''
AND logDate >= '2019-02-03' AND logDate <= '2019-02-05'
GROUP BY FoodLog.studentID, logDate
ORDER BY `FoodLog`.`logDate`  ASC
...