2014-05-25 4 views
0

PHP가 엉망입니다. 그러나 내 프로젝트는 기본 통계 페이지를 만드는 것입니다. 그럼 내가 무엇을 찾고 있는지 정확히 설명해 주도록하십시오. (가장 기본적인 형태로)

기본적으로 다음과 같은 구조의 테이블이 있습니다. [ TransactionID, Date, Amount ]
내가 원하는 것은 모든 날짜를 특정 날짜별로 그룹화하고 그 날짜에 발생한 모든 트랜잭션을 표시하는 것이므로 쿼리가 이와 같이 보일 것이라고 생각합니다.데이터 집합을 날짜순으로 그룹화하십시오.

Select * from table where date = 2014-05-24 

좋아, 그 모든 벌금과 멋쟁이 있고 난 쉽게 그런 합계를 얻을 수 있지만, 어떻게 심지어 특정 달 동안 거래를 얻을, 또는 연도 것인가?

개인 프로젝트이며 전문적인 규모로는 전혀 사용되지 않지만 취미로 작업하고 있습니다.

+0

어떤 SQL을 사용하고 있습니까? MySQL은? 포스트그레스? – Victory

+0

MySQL - 죄송합니다. –

답변

1

Date 열의 유형이 DateTime 인 경우 date functions in Mysql이 표시 될 수 있습니다.

는 2014년 5월 24일 같은 특정 날짜에 대한 모든 기록을 효율적으로 활용하려면 다음

Select * from table T where Date(T.date) = Date('2014-05-24') 

2014과 같은 특정 연도에 대한 모든 기록을 얻으려면 :

Select * from table T where Year(T.date) = Year('2014-05-24') 

을 올해의 특정 달 같이 들어 2014 년 5 월

Select * from table T where Year(T.date) = Year('2014-05-24') 
and 
Month(T.date) = Month('2014-05-24') 
1

EXTRACT() 기능을 사용해보십시오.

 select * from table where EXTRACT(YEAR FROM `date`) = '2014' 

    select * from table where EXTRACT(YEAR_MONTH FROM `date`) = '201405' 

see date and time functions

0

가 내 예를 울부 짖는 소리보다 더 나은 방법이 있지만, 기본적인 방법이 될 수 :

SELECT * TABLENAME FROM WHERE 2012년 12월 25일 0시 'BETWEEN columname : 00 'AND'2012-12-25 23:59:59

관련 문제