반응형
제품 표를 prod_price
와 prod_name
의 두 열로 정렬하고 싶습니다.
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;
여기서 정렬은 어떻게 이루어 집니까? 먼저 prod_price
에 의해 발생하고 다음으로 prod_name
에 의해 발생한다고 생각합니다. 또한 위의 쿼리가이 쿼리와 어떻게 다른가요?
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_name;
내 제품 테이블은 다음과 같습니다.
CREATE TABLE Products
(
prod_id char(10) NOT NULL ,
vend_id char(10) NOT NULL ,
prod_name char(255) NOT NULL ,
prod_price decimal(8,2) NOT NULL ,
prod_desc text NULL
);
해결 방법
ORDER BY
의 정렬은 첫 번째 열에서 수행 한 다음 지정된 문의 각 추가 열에서 수행됩니다.
예를 들어 다음 데이터를 고려하십시오.
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
쿼리
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
먼저 Column1
의 모든 값을 기준으로 정렬합니다.
그런 다음 Column2
별로 열을 정렬하여 다음을 생성합니다.
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
즉, 데이터가 먼저 Column1
순서로 정렬 된 다음 각 하위 집합 (값이 1
인 Column1
행)이 정렬됩니다. 두 번째 열의 순서입니다.
게시 한 두 진술의 차이점은 첫 번째 진술의 행이 먼저 prod_price
(가격 순서, 최저 가격순)에 따라 정렬 된 다음 이름 순서 (2 개 항목의 가격이 같고 이름에 대해 더 낮은 알파 값을 가진 항목이 먼저 나열되고 두 번째 항목은 이름 순서로만 정렬됩니다 (즉, 가격이없는 prod_name
을 기준으로 한 순서대로 표시됨을 의미). 가격에 대한 고려).
참조 페이지 https://stackoverflow.com/questions/15628277
반응형
'MySql' 카테고리의 다른 글
MySQL $ result = mysql_query () (0) | 2021.01.08 |
---|---|
MySQL LEFT JOIN only first row (0) | 2021.01.08 |
MySQL 데이터베이스를 내보낼 때 버전 오류를 제공하는 mysqlworkbench (0) | 2021.01.08 |
MySQL에서 최대 두 값을 얻는 방법은 무엇입니까? (0) | 2021.01.08 |
MySQL MyISAM 및 InnoDB는 언제 사용합니까? (0) | 2021.01.08 |
댓글