나는 범위에 걸쳐 매일 여러 번 실행중인 쿼리가 있습니다. 나는 하나의 쿼리에이 감소하고 싶습니다 :간격으로 일별 간격으로 MYSQL 그룹
SELECT SUM(amount) AS all_time_revenue
FROM charges WHERE DATE(`charges`.`created_at`) <= '2015-03-01'
내가 단일 쿼리에이 변환하려고 문제로 실행 해요 - 내가 GROUP BY
"created_at"나는 전에 모든 요금 을 캡처하고 할 수 없기 때문에 및 날짜. (단지 그 날짜에). 이것이 가능한지 확실하지 않지만, 해결할 수있는 천재성이 있다면 여기에 확신 할 수 있습니다. 참고 : 각 행에 대해 myDate과 의 합계을 반환 할 수 있으면 좋을 것입니다. 내가 날짜 범위 또는 일 간격의 하나의 날짜와 번호와 함께 작동 할 수있는 단일 쿼리를 실행하고 싶습니다 그래서 이상적으로
$start_time = new DateTime('2016-08-01');
$end_time = new DateTime('2016-08-14');
$data = [];
for ($start_time; $start_time < $end_time; $start_time = $start_time->modify('+1 day')) {
$date = $start_time->format("Y-m-d");
$results = DB::SELECT("SELECT SUM(amount) AS all_time_revenue
FROM charges
WHERE `charges`.`created_at` <= ? AND `charges`.`sandbox`=0",
", [$date]);
$data[$date] = $results[0]->all_time_revenue;
}
: 여기
내가 뭘하는지의 완벽한 예입니다row 1: ['2016-08-01', 4000.00]
row 2: ['2016-08-02', 4500.00]
...
row 14:['2016-08-14', 15000.00]
http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql- 쿼리 – Strawberry
'created_at'의 데이터 유형이 ... DATE입니까? DATETIME? $ mydate에 어떤 값의 범위가 제공됩니까? – spencer7593
감사합니다. 왜냐하면 @Strawberry가 무엇에 대해 불평하고 있는지 전혀 몰랐기 때문입니다. –