찾다

 >  Q&A  >  본문

DISTINCT 쿼리 및 ORDER BY를 사용하는 MySQL 오류

한 열에 DISTICNT 쿼리를 수행하고 SELECT 문에 없는 다른 열을 기준으로 정렬하려고 합니다. 다음 오류가 발생합니다:

쿼리 실패 SQLSTATE[HY000]: 일반 오류: 3065 표현식 #1 ORDER BY 절이 SELECT 목록에 없고 참조된 열입니다. 'midnites_midNite.product_in_category.sortOrder'가 없습니다. 목록을 선택하세요. DISTINCT

와 호환되지 않습니다.

ID, cat_ID, product_ID 및 sortOrder의 4개 열이 있는 products_in_category 예제 테이블이 있습니다. Product_ID WHERE cat_ID = 9 DISTICNT 쿼리를 수행하고 sortOrder 열의 관련 쿼리 값을 기준으로 정렬하려고 했습니다.

으아악

이 쿼리는 5, 26, 7의 3개 값을 반환하는데 이는 정확하지만 관련 sortOrder 값을 기준으로 정렬해야 합니다. 아래 쿼리를 사용하면 5개의 값이 반환되는데, 이는 sortOrder 열의 모든 값이 고유하기 때문에 잘못된 것입니다.

으아악

아래 쿼리를 사용하면 mySQL에서 이 오류가 발생하며 SELECT 문에 sortOrder가 포함되지 않는 이유를 이해합니다. Product_ID 열에 대해 DISTICNT 쿼리를 수행하고 반환된 값의 관련 sortOrder 값을 기준으로 정렬하는 방법을 잘 모르겠습니다.

쿼리 실패 SQLSTATE[HY000]: 일반 오류: 3065 표현식 #1 ORDER BY 절이 SELECT 목록에 없고 참조된 열입니다. 'midnites_midNite.product_in_category.sortOrder'가 없습니다. 목록을 선택하세요. DISTINCT

와 호환되지 않습니다.
으아악

다양한 방법으로 Union, Join, Select 문을 시도해보았습니다. 이 내용이 이해할 수 있기를 바라며 제공할 수 있는 도움에 감사드립니다! ! !

P粉541551230P粉541551230232일 전501

모든 응답(1)나는 대답할 것이다

  • P粉536909186

    P粉5369091862024-04-01 09:29:51

    으아악

    회신하다
    0
  • 취소회신하다