3
내가 지금 같은 데이터 테이블을 얻을 : 나는 제품에 대한 최저 가격과 MySQL의에서 해당 상인을 선택하고자하는MySQL의 그룹은 최소 값을 반환하고 해당 행 데이터가
- PK_table - merchantName - price - Product
- 1 - argos - 7 - 4
- 2 - comet - 3 - 4
- 1 - Dixon - 1 - 3
- 1 - argos - 10 - 4
.
내가 시도 :SELECT Product, merchantName, min(price)
FROM a_table
GROUP BY product
는 첫째 판매자 이름과 MIN이 아닌 해당 상인을 선택하기 때문에 그러나 반환되는 결과가 잘못입니다.
어떻게 하시겠습니까?
우리는 밑줄을 긋지 않을 것입니까? –
오래된 것을 불러 일으키는 것에 대해 유감스럽게 생각합니다. 하위 쿼리없이이 작업을 수행 할 수있는 방법이 있는지 궁금합니다. 'MIN' 내부의 표현식이 복잡하고 시간이 오래 걸리므로 하위 쿼리를 수행 할 수 있습니다. – Manu
제대로 최적화되고 단일 제품 만 원할 경우이 쿼리는 필요한 행에 대해서만 MIN 계산을 수행합니다. 엔진이 최적화되지 않은 경우 (모든 제품에 대해 MIN을 계산하는 경우) 'FROM a_table'을 'FROM a_table WHERE Product = Some_Product'로 변경하여 수동으로 최적화 할 수 있습니다. 모든 제품에 대한 쿼리를 원할 경우 하위 선택을 사용해야하지만 최종 결과에 필요한 모든 계산이 필요하므로 괜찮습니다. –