2014-10-16 2 views
2

두 날짜 사이의 일부 ID에 대해 하나의 필드 합계를 반환하는 MySQL 쿼리가 있습니다. 해당 요일마다 결과를 어떻게 그룹화 할 수 있습니까?mysql 매일 두 날짜 사이에 그룹화하는 방법?

다음은 쿼리입니다.

$sql = 'SELECT SUM(r.distance),r.* FROM ROUTES r 
     WHERE DATE(r.endRoute) > (NOW() - INTERVAL 7 DAY) 
     AND r.car_id = '.$request->getParam('id').' 
     GROUP BY (each of now - interval ???)'; 

고마워요!

답변

1

당신은 너무 group by 절에 날짜 부분을 추출하는 date 기능을 사용할 수 있습니다 :

SELECT DATE(r.endRoute), SUM(r.distance) 
FROM  routes r 
WHERE DATE(r.endRoute) > (NOW() - INTERVAL 7 DAY) AND r.car_id = '.$request->getParam('id').' 
GROUP BY DATE(r.endRoute) 
+0

감사합니다! 이것은 작동하지만, 나는 이유를 알지 못한다. 그러나 나는 훨씬 더 어려워 질 것이라고 생각했다. :) –

+0

모든 날짜가 데이터가 아닐 때이 작업이 가능할까요? – tribe84

관련 문제