| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- ChatGPT
- 인터넷의이해
- OSS
- API
- 국가과제
- Database
- Web
- rnn
- Docker
- Github
- Machine Learning
- GoogleDrive
- Python
- cloud
- Powershell
- ICT멘토링
- C언어
- KAKAO
- Rocky Linux
- Resnet
- 크롤링 개발
- git
- LINUX MASTER
- VSCode
- Spring
- suricata
- 코딩도장
- colab
- Spring Boot
- 고등학생 대상
- Today
- Total
코딩두의 포트폴리오
6. MySQL 데이터베이스 자료의 정렬 본문
ORDER BY
- MySQL에서 특정 칼럼을 기준으로 정렬 하고자 할 때 사용하는 옵션
- 특정 칼럼을 기준으로 내림차순, 오름차순 정렬 가능


number를 기준으로 오름차순 정렬
오름차순으로 정렬하기
<명령 구문>
SELECT * FROM 테이블명 ORDER BY 칼럼명;
SELECT * FROM 테이블명 ORDER BY 칼럼명 ASC;


내림차순으로 정렬하기
<명령 구문>
SELECT * FROM 테이블명 ORDER BY 칼럼명 DESC;

칼럼 기준 정렬 적용 방법
칼럼 데이터 중 값이 중복되는 경우 -> 특정 칼럼 값이 중복되는 경우 다른 칼럼을 기준으로 재정렬 가능

ex) amount 칼럼값이 각각 10으로 동일한 경우 -> number 칼럼을 기준으로 내림차순 or 오름차순으로 정렬 가능

칼럼 간 합계 구하기
국어 점수(Korean)와 영어 점수(English)에 대하여 1월, 2월, 3월 자료가 다음과 같을 경우
➔ 매월 국어 점수와 영어 점수 합계를 구할 수 있음

SELECT 기준칼럼명, 칼럼1 + 칼럼2 +… FROM 테이블명;
- 기준 칼럼명은 출력 기준이 되는 칼럼
- 칼럼 간 합계는 2개 이상 가능

Aliasing(별칭)을 사용한 칼럼 간 합계 구하기
SELECT 기준칼럼명, 칼럼1 + 칼럼2+…
AS 별칭칼럼 FROM 테이블명 ORDER BY 별칭칼럼;
- 기준 칼럼명은 출력 기준이 되는 칼럼
- 칼럼 간 합계는 2개 이상 가능
AS - Aliasing을 의미 / AS 뒤에 임시 칼럼명을 설정(별칭 칼럼)
- ORDER BY 별칭 칼럼 뒤에는 ASC 또는 DESC 옵션 가능

LIMIT 구문
- 출력되는 레코드의 개수를 제한하는 구문
(첫 번째 레코드를 기준으로 레코드 개수 제한 / 특정 레코드를 기준으로 개수를 제한)
- MySQL에서만 사용됨
- 다른 RDBMS에서는 사용 불가(SQL의 표준이 X)
(ex 1) LIMIT 사용 경우

(ex 2) 4번째 레코드부터 2개의 레코드만 출력하는 경우

RAND() 함수
- 레코드의 순서를 무작위 순으로 정렬하는 구문
- 반복적으로 명령을 실행할 때마다 무작위로 정렬

자료 정렬 필요 칼럼 선정
Web 테이블에서 제목을 클릭할 경우 정렬이 되도록 동적 구성함
ex) number, amount, date를 선정함
- number 클릭 시 number 기준 오름차순 정렬
- amount 클릭 시 내림차순 정렬
- date 클릭 시 내림차순 정렬



조건별 Web 정렬 원리 - 조건의 설계
1) 조건 1-> 클라이언트가 amount 기준 정렬을 하고자 할 경우
2) 조건 2 -> 클라이언트가 date 기준 정렬을 하고자 할 경우
1) 조건 3 -> 조건 1, 조건 2에 해당하지 않는 조건일 경우
조건에 따른 PHP 문법 -> if 문법 사용
if(조건1) { 실행 }
elseif(조건2) { 실행 }
else { 실행 }
조건의 구체화
- 조건의 기준을 판별하기 위해 view라는 변수명을 작명하여 생성
- list.php 파일을 Web에서 로딩할 때 변수 view에 대입된 값으로 조건을 판정

변수 값의 전달
1) 칼럼 제목 클릭 시 변수값 전달
▪ number 클릭 시 $view 값 null 전달
▪ amount 클릭 시 $view 값 1 전달
▪ data 클릭 시 $view 값 2 전달
2) 변수값 전달 방식 - (경로/Web페이지?변수=값) 링크 클릭 시 전달
▪ http : //도메인/list.php
▪ http : //도메인/list.php?view=1
▪ http : //도메인/list.php?view=2
전체 자료 출력 페이지 코드 분석


- view의 값이 1일 경우 -> amount를 기준으로 내림차순 정렬

- view의 값이 2일 경우 -> date를 기준으로 내림차순 정렬

- view의 값이 null일 경우 -> 기본 정렬(number 칼럼 기준 오름차순)

if 조건문 대체 문법
- 조건식이 많을 경우 SWITCH 문법 사용(PHP 문법)

'STEP 특화교육 > MySQL 데이터베이스 기초와 Web 활용' 카테고리의 다른 글
| 8. MySQL 자료 수정과 삭제 Web 구현 (0) | 2025.05.22 |
|---|---|
| 7. MySQL 데이터베이스 구조 및 자료 수정과 삭제 (0) | 2025.05.21 |
| 5. MySQL 자료 입력 Web 연동 (3) | 2025.05.18 |
| 4. 데이터베이스 자료 입력과 검색 (0) | 2025.05.18 |
| 3. MySQL 데이터베이스 구조와 생성 (1) | 2025.05.18 |
