2017-03-05 2 views
0

PHP는 MySQL의에서 두 날짜의 범위를 사용하여 총 방법 :내가 당신에게 예를 들어주지

date - entries 
03/05/2017 - 10 
03/06/2017 - 5 
03/07/2017 - 5 
03/08/2017 - 10 

내가 원하는을 결과는 내가 모든 항목을 추가 할 30

할 수 첫 번째 날짜와 마지막 날짜의 범위에있는 모든 사람들은 php와 mysql을 사용하지만 어떻게 될지 모르겠습니다. 누군가 나를 도울 수 있습니까? 더 많은 데이터가있는 경우

SELECT SUM(entries) AS the_sum 
FROM yourTable 

을하지만 특정 날짜 범위에서 합계를 : 당신이 우리를 보여 샘플이 정말로 테이블에 모든 레코드를 나타내는 경우

+0

'03/08/2017' ...이 날짜는 비표준 형식으로 표시됩니다. 'date' 열의 유형은 무엇입니까? 날짜를 텍스트로 저장 했습니까? –

+0

이 형식을 사용했습니다 : \t $ date = date ("d/m/Y"); 다른 사람들이 있습니까? –

+0

나는 또한 20을 정정했다. 결과적으로 30 불이 나쁘다. 나의 나쁜 메신저는 피곤하다. –

답변

2

, 다음 작업을해야합니다 두 번째 쿼리에 나는 당신이 날짜 텍스 등을 저장하는 것으로 나타나기 때문에 STR_TO_DATE()를 사용에 의존해야한다고

SELECT SUM(entries) AS the_sum 
FROM yourTable 
WHERE STR_TO_DATE(date, '%m/%d/%Y') BETWEEN '2017-03-05' AND '2017-03-08' 

참고 : 다음, 당신은 WHERE 절을 사용하여 합계를 제한 할 수 있습니다 t는 03/05/2017 형식입니다. 따라서 다른 날짜와 비교하기 위해이를 먼저 날짜 유형으로 변환해야합니다.

일반적으로 데이터베이스의 데이터로 작업하기가 어렵 기 때문에 날짜 정보를 텍스트로 저장하지 않도록하십시오. 대신, 날짜 형식을 사용하여이 정보를 저장하십시오 (date, datetime, timestamp).

+0

phpmyadmin 선생님이 그 일을 할 것인가? –

+0

이 쿼리는 PHP 스크립트를 비롯한 MySQL 기간 동안 작동합니다. –

관련 문제