[SQL] MySQL은 / SQL : 만 날짜 시간 컬럼에 날짜별로 그룹
SQLMySQL은 / SQL : 만 날짜 시간 컬럼에 날짜별로 그룹
같은 열이있는 테이블을 갖는 MyDate가 DATETIME ...
나는 쿼리 등이 있습니다
SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate;
시간과 분을 포함한 전체 날짜에 의해이 의지 그룹. 난 단지 날짜 YYYY / MM / DD하지 YYYY로 / MM / DD / HH / mm으로하여 그룹을하고 싶습니다.
누구를 알고 어떻게이 일을? (나는 기압 나처럼) 나는 아직도 동적으로 내 코드에서 그것을 할 수 있습니다,하지만 난 쓰레기 코드를 청소하고 있는데이 방법 만 :( 알 수없는 SQL I를 통해 할 수있다.
해결법
-
==============================
1.날짜,이 구문을 사용하여 다음 그룹에 날짜 캐스트 :
날짜,이 구문을 사용하여 다음 그룹에 날짜 캐스트 :
SELECT SUM(foo), DATE(mydate) FROM a_table GROUP BY DATE(a_table.mydate);
또는 당신은 그룹 별칭에 의해 @ orlandu63 제안 수 :
SELECT SUM(foo), DATE(mydate) DateOnly FROM a_table GROUP BY DateOnly;
나는 그것이 성능에 대한 차이를 만들 것입니다 생각하지 않습니다 만, 그것은 조금 더 명확하다.
-
==============================
2.또는:
또는:
SELECT SUM(foo), DATE(mydate) mydate FROM a_table GROUP BY mydate;
당신이 행에 두 번 캐스트 MyDate가 필요가 없기 때문에 (나는 생각한다.) 더 효율적입니다.
-
==============================
3.나는 그렇게 어느 쪽도 나를 위해 일한 위의 월과 올해 그룹에 필요하지 것을 발견했다. 대신에 나는 DATE_FORMAT 사용
나는 그렇게 어느 쪽도 나를 위해 일한 위의 월과 올해 그룹에 필요하지 것을 발견했다. 대신에 나는 DATE_FORMAT 사용
SELECT date FROM blog GROUP BY DATE_FORMAT(date, "%m-%y") ORDER BY YEAR(date) DESC, MONTH(date) DESC
-
==============================
4.
SELECT SUM(No), HOUR(dateofissue) FROM tablename WHERE dateofissue>='2011-07-30' GROUP BY HOUR(dateofissue)
그것은 특정한 날로부터 합으로 시간을 줄 것이다!
from https://stackoverflow.com/questions/366603/mysql-sql-group-by-date-only-on-a-datetime-column by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL : 어떻게 열의 각 구별 값의 수를 얻는 방법? (0) | 2020.04.28 |
---|---|
[SQL] 어떤 레코드가 발견되지 않으면 값을 반환 (0) | 2020.04.28 |
[SQL] 오라클의 모든 테이블 제약을 해제 (0) | 2020.04.28 |
[SQL] PostgreSQL의에서 타임 스탬프에서 추출 날짜 (년 / 월 / 일) (0) | 2020.04.28 |
[SQL] "여기서 1 = 1"문 [중복] (0) | 2020.04.28 |