
1. 문제 설명
다음은 식품 정보를 포함합니다. 식품 제품 테이블. 식품 제품 테이블은 다음과 같습니다 제품 ID, 상품명, 제품_CD, 범주, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품 분류 및 식품 가격을 나타냅니다.
| 제품 ID | VARCHAR(10) | 잘못된 |
| 상품명 | VARCHAR(50) | 잘못된 |
| 제품_CD | VARCHAR(10) | 진실 |
| 범주 | VARCHAR(10) | 진실 |
| 가격 | 숫자 | 진실 |
2. 문제
식품 제품 테이블에서 가장 비싼 음식의 음식 ID, 음식 이름, 음식 코드, 음식 범주 및 음식 가격을 쿼리하는 SQL 문을 작성하십시오.
3. 문제 설명
예
예를 들어 제품 테이블이 있을 때
PRODUCT_IDPRODUCT_CODEPRICE
| 하나 | A1000011 | 10000 |
| 2 | A1000045 | 9000 |
| 삼 | C3000002 | 22000 |
| 4 | C3000006 | 15000 |
| 5 | C3000010 | 30000 |
| 6 | K1000023 | 17000 |
상품을 만원 단위의 가격대로 나누면,
- 0원~10,000원 이하의 가격대 상품 제품 ID 2인 1품,
- 10,000원에서 20,000원 사이의 품목 제품 ID 1, 4, 6이 포함된 3개의 제품
- 가격대가 2만원 이상 3만원 미만인 상품 제품 ID 3개 포함 1개 제품
- 가격대가 3만원 이상 4만원 미만인 상품 제품 ID 5개 포함 1개 제품
결과는 다음과 같아야 합니다.
PRICE_GROUP제품
| 0 | 하나 |
| 10000 | 삼 |
| 20000 | 하나 |
| 30000 | 하나 |
식품 제품 테이블이 다음과 같은 경우
PRODUCT_IDPRODUCT_NAMEPRODUCT_CDCATEGORYPRICE
| P0018 | 맛있는 고추기름 | CD_OL00008 | 식용유 | 6100 |
| P0019 | 맛있는 유채 기름 | CD_OL00009 | 식용유 | 5100 |
| P0020 | 맛있는 산초유 | CD_OL00010 | 식용유 | 6500 |
| P0021 | 맛있는 케첩 | CD_OL00001 | 소스 | 4500 |
| P0022 | 맛있는 마요네즈 | CD_OL00002 | 소스 | 4700 |
SQL을 실행하면 다음과 같아야 합니다.
PRODUCT_IDPRODUCT_NAMEPRODUCT_CDCATEGORYPRICE
| P0020 | 맛있는 산초유 | CD_OL00010 | 식용유 | 6500 |
4. 답변
SELECT PRICE_GROUP,
COUNT(PRICE_GROUP) AS PRODUCTS
FROM (SELECT FLOOR(PRICE/10000)*10000 AS PRICE_GROUP FROM PRODUCT)
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
5. 내가 오답을 쓴 이유
- 멀티햄 기능은 컬럼 이외에는 사용할 수 없다는 것을 몰랐습니다.
- 다중 행 함수를 조건으로 사용하려면 하위 쿼리를 고려하십시오.
