2010-05-14 3 views
0

저는 SQL에별로 익숙하지 않습니다. 일반적으로 PHP를 사용하여 복잡한 작업을 수행하지만,이 작업에서는 많은 데이터가 있으므로 PHP를 사용하여 게시물 수를 계산하는 것은 매우 느립니다. 그래서 날짜로 게시물을 계산하는 SQL 싶지만, 테이블에 내 날짜 열은 PHP의 타임 스탬프 (int)입니다. 난 게시물 번호 x 날짜 차트를 크레이트 것입니다mysql : 글 수와 날짜로 그룹화

답변

2

당신은 괜찮은 이해를 가지고있는 것 같습니다 술어. MySQL의에 대한

SELECT FROM_UNIXTIME(post_date, '%Y %D %M') AS POST_DATE, 
     COUNT(post_id) AS POST_COUNT 
    FROM posts 
GROUP BY POST_DATE 
0

확실하지,하지만 포스트 그레스에 당신은 (적어도 열 ID와 php_timestamp와 게시물라는 이름의 테이블에 대한) 같은 것을 할 수있는 :

이런 식으로 뭔가 작업을해야합니다

SELECT COUNT(id), php_timestamp - (php_timestamp % 86400) AS base_date 
FROM posts 
GROUP BY php_timestamp - (php_timestamp % 86400) 

물론 php_timestamp - (php_timestamp % 86400) 식의 색인이 좋습니다. MySQL에서 색인을 만들 수는 없습니다. 이 날짜는 UTC의 날짜순으로 그룹화됩니다.

+0

"이 그룹은 UTC의 날짜로 그룹화됩니다."- 쿼리의 어떤 것도 UTC와 관련이 없습니다. – zerkms

+0

유닉스 시간 (PHP에서 사용)은 1970 년 1 월 1 일의 초를 초로 계산합니다. 그런 다음 UTC로 가장 가까운 요일의 자정 시간으로 반올림합니다. – Artefacto

관련 문제