내 문제는 아래 그림과 같습니다. 데이터베이스 구조와 데이터는 아래 코드 블록에 있습니다.
< /p>
내가 얻고자 하는 결과는 다음과 같습니다.
테이블 구조와 데이터는 다음과 같습니다
테이블 A 생성(
ID INT NOT NULL,
숫자 INT NOT NULL
)CHARSET=utf8;
INSERT INTO A(id,num) VALUES(1,5),(2,7),(3,6);
테이블 B 생성(
INT NOT NULL,
INT NOT NULL,
내용 VARCHAR(20) NOT NULL
)CHARSET=utf8;
INSERT INTO B(aid,sid,content) VALUES(3,1,'A'),(3,2,'B'),(3,3,'C');
테이블 C 생성(
ID INT NOT NULL,
시간 INT는 NULL이 아닙니다.
libs VARCHAR(20) NOT NULL
)CHARSET=utf8;
INSERT INTO C(id,time,libs) VALUES(2,18,'wagaga'),(3,16,'aaaa'),(1,15,'cc'),(3,17,'dddd') ,(4,14,'eeee'),(3,10,'ffff'),(3,11,'bbbb');
이것은 내 요구 사항을 충족할 수 있지만 실행 효율성이 너무 낮습니다...
에서 * 선택
(
구별된 선택
a.id,a.num,b.aid,b.sid,b.content,c.id as cid,c.time,c.libs
에서
에
LEFT JOIN b b ON b.aid = a.id
LEFT JOIN c ON c.id = b.sid
여기서 a.id = 3
시간별 주문 DESC
) TMP로
GROUP BY cid ;
보다 효율적인 글쓰기 방법을 제공해 줄 수 있는 전문가가 있나요?
으아아아
으아아아
위 데이터라면 이 SQL이 만족되어야 합니다. . . 만족스럽지 않다면 신경쓰지 마세요...
이것은 내 쿼리 결과입니다
으아아아
원하는 내용이 질문에 명확하게 설명되어 있지 않습니다. . .
으아악
효율성에 문제가 있습니다..