반응형
세 개의 테이블에서 데이터를 가져 오는 다소 복잡한 쿼리가 있는데 이제 더 복잡해지기를 원합니다 (오 이런)!
마지막으로 게시 된 기능이 페이지의 자체 섹션에 표시되기를 바랍니다. 테이블의 마지막 항목을 선택하면 매우 쉽습니다. 그러나 복잡한 쿼리 (사이트의 메인 페이지)의 경우이 기능이 표시되지 않도록하고 싶습니다.
다음 쿼리를 이전 쿼리에 결합
하고 싶지만 올바른 결과가 반환되지 않습니다.
SELECT
features.featureTitle AS title,
features.featureSummary AS body,
features.postedOn AS dummy,
DATE_FORMAT( features.postedOn, '%M %d, %Y' ) AS posted,
NULL,
NULL,
staff.staffName,
features.featureID
FROM
features
LEFT JOIN staff ON
features.staffID = staff.staffID
WHERE features.postedOn != MAX(features.postedOn)
ORDER BY dummy DESC LIMIT 0,15
이 쿼리는 다음 오류를 반환합니다.
MySQL 오류 : # 1111-그룹 함수의 잘못된 사용
이 문제를 해결할 방법이 있습니까?
해결 방법
max
쿼리는 자체 하위 쿼리에 있어야하므로 최종 SQL은 다음과 같아야합니다.
SELECT features.featureTitle AS title,
features.featureSummary AS body,
features.postedOn AS dummy,
DATE_FORMAT( features.postedOn, '%M %d, %Y' ) AS posted,
NULL,
NULL,
staff.staffName,
features.featureID
FROM
features
LEFT JOIN staff ON
features.staffID = staff.staffID
WHERE
features.postedOn != (select max(features.postedOn) from features)
참조 페이지 https://stackoverflow.com/questions/1182795
반응형
'MySql' 카테고리의 다른 글
MySQL 다른 테이블의 값으로 mysql 업데이트 열 (0) | 2021.02.02 |
---|---|
MySQL 명령 줄에서 루트 사용자에 대한 액세스가 거부되었습니다. (0) | 2021.02.02 |
MySQL 쿼리를 사용하여 전체 테이블에서 텍스트 찾기 및 바꾸기 (0) | 2021.02.02 |
MySQL Stored Procedures, MySQL and PHP (0) | 2021.02.02 |
MySQL Double Join (0) | 2021.02.02 |
댓글