0
은 내가왜 MySQL에서 DISTINCT가 먼저 나옵니 까?
SELECT 1, DISTINCT(table.field.id) FROM ...
이 알려진 동작입니다 수행 할 때 내가
SELECT DISTINCT(table.field.id), 1 FROM ...
을 수행 할 때 작동하지만 실패 쿼리가?
두 번째는 작동하지 않는 이유는 무엇입니까?
은 내가왜 MySQL에서 DISTINCT가 먼저 나옵니 까?
SELECT 1, DISTINCT(table.field.id) FROM ...
이 알려진 동작입니다 수행 할 때 내가
SELECT DISTINCT(table.field.id), 1 FROM ...
을 수행 할 때 작동하지만 실패 쿼리가?
두 번째는 작동하지 않는 이유는 무엇입니까?
불행히도 나는 아직 코멘트를 추가 할 수 없습니다.
@ Gordon Linoff가 쓴 것은 정확히 맞습니다. SELECT
조항 또는 AGGREGATE
함수의 일부로 일반적으로 작동하는 DISTINCT
으로 오류가 발생합니다. 결과 집합에서 고유 한 행을 반환하는 데 사용되며 집계 함수 내에서 고유 한 열 값을 강제하는 데 사용할 수 있습니다.
예 : SELECT DISTINCT * ...
COUNT(DISTINCT COLUMN)
또는 SUM(DISTINCT COLUMN).
상세 정보에 대한 DISTINCT
인기 DB 엔진에있다 :
'DISTINCT'는 기능이 아닙니다. SELECT DISTINCT는 SQL 언어의 절입니다. SELECT DISTINCT는 절의 모든 * 열에 적용됩니다. –
DISTINCT는 "중복 행 제거"를 의미합니다. 열 수준에서는 의미가 없습니다. 이것이 왜 [SELECT와 선택된 표현식 목록 사이] (https://dev.mysql.com/doc/refman/5.7/en/select.html)에 머문 이유입니다. 제목에있는 질문에 대답하려면 : [SELECT' 문서 (https://dev.mysql.com/doc/refman/5.7/en/select.html)에 나와 있습니다. – axiac