my sql"group by"와"orderby"의 연구-분류 에서 최신 내용
CREATE TABLE `test` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`category_id` INT(10) NOT NULL,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM
ROW_FORMAT=DEFAULT;
INSERT INTO `test` (`id`, `name`, `category_id`, `date`)
VALUES
(1, 'aaa', 1, '2010-06-10 19:14:37'),
(2, 'bbb', 2, '2010-06-10 19:14:55'),
(3, 'ccc', 1, '2010-06-10 19:16:02'),
(4, 'ddd', 1, '2010-06-10 19:16:15'),
(5, 'eee', 2, '2010-06-10 19:16:35');
입 니 다.저 는 지금 각 분류 에서 최신 내용 을 꺼 내야 합 니 다.
select * from test group by category_id order by `date`
결 과 는 다음 과 같다.이것 은 내 가 원 하 는 데이터 가 아니 라 msyql 의 실행 순서 가인용 하 다.
쓰 는 순서:select...from...where...group by...having..order by..실행 순서:from..where..group by..having...select..order by..그래서 order by 가 받 은 결과 에 서 는 이미 조 를 나 눈 마지막 결과 입 니 다.from 에서 where 까지 의 결 과 는 다음 과 같다.group by 에 도착 하면 categoryid 가 분 류 된 여러 그룹이 select 에 도 착 했 을 때 위의 각 그룹 에서 만 첫 번 째 정 보 를 얻 는 결 과 는 다음 과 같다.order by 라 도 위의 결과 에서 만 정렬 된다.각 분류의 최신 정 보 는 아니다.나의 목적 으로 돌아 가기-분류 에서 최신 정 보 는 위의 분석 에 따라 group by 에서 select 까지 그룹 에 있 는 첫 번 째 정보 만 가 져 옵 니 다.두 가지 해결 방법 이 있 습 니 다.1.where+group by(그룹 정렬)2.form 에서 돌아 온 데이터 에서 손발(즉,하위 조회)은 where+group by 의 해결 방법 으로 group by 의 그룹 을 정렬 하 는 함수 만 찾 았 습 니 다.groupconcat()정렬 은 가능 하지만 groupconcat 의 역할 은 그룹의 필드 에 있 는 값 을 연결 하 는 것 입 니 다.
select group_concat(id order by `date` desc) from `test` group by category_id다시 개선
select * from `test` where id in(select SUBSTRING_INDEX(group_concat(id order by `date` desc),',',1) from `test` group by category_id)order by`date`desc하위 조회 솔 루 션
select * from (select * from `test` order by `date` desc) `temp` group by category_id order by `date` desc
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
🕗[프로그래머스] 입양 시각 구하기(2)문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.