반응형
지금까지 내가 가지고있는 코드는 다음과 같습니다. 날짜가있는 분기의 시작 날짜를 찾기 위해?
SELECT
QUARTER(r.callDate) AS quar,
YEAR(r.callDate) AS ryear,
???????? AS scoreDateStart,
(SELECT DATE (DATE_SUB( DATE_ADD( CONCAT( YEAR( r.callDate ), '-01-01'), INTERVAL QUARTER(r.callDate) QUARTER ), INTERVAL 1 DAY))) AS scoreDateEnd,
group_concat(DISTINCT(r.resultId) separator ', ') AS resultIds
FROM results AS r
GROUP BY quar, ryear
ORDER BY quar;
인터넷 검색을 시도했지만 아무 소용이 없습니다.
출력의 예는 다음과 같습니다.
'1', '2012', '2012-01-01', '2012-03-31', '57, 58, 59'
'2', '2012', '2012-04-01', '2012-06-30', '10549, 10551, 12598'
해결 방법
이 시도:
현재 분기의 시작 날짜를 얻으려면 다음을 사용하십시오.
SELECT MAKEDATE(YEAR(CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) QUARTER
- INTERVAL 1 QUARTER
따라서 쿼리는 다음과 같습니다.
SELECT
QUARTER(r.callDate) AS quar,
YEAR(r.callDate) AS ryear,
MAKEDATE(YEAR(r.callDate), 1) + INTERVAL QUARTER(r.callDate) QUARTER -
INTERVAL 1 QUARTER AS scoreDateStart,
(SELECT DATE (DATE_SUB( DATE_ADD( CONCAT( YEAR( r.callDate ), '-01-01'),
INTERVAL QUARTER(r.callDate) QUARTER ), INTERVAL 1 DAY))) AS scoreDateEnd,
group_concat(DISTINCT(r.resultId) separator ', ') AS resultIds
FROM results AS r
GROUP BY quar, ryear
ORDER BY quar;
참조 페이지 https://stackoverflow.com/questions/11884618
반응형
'MySql' 카테고리의 다른 글
MySQL 기존 mysql 테이블에서 파티션을 만드는 방법은 무엇입니까? (0) | 2021.02.02 |
---|---|
MySQL 테이블 생성 날짜는 어떻게 알 수 있습니까? (0) | 2021.02.02 |
MySQL 제한 1로 mysql 조인 (0) | 2021.02.02 |
MySQL GROUP_CONCAT ()와 CONCAT_WS ()의 차이점은 무엇입니까? (0) | 2021.02.02 |
MySQL How to install PhpMyAdmin having MySQL database/logins through FTP (0) | 2021.02.02 |
댓글