Mysql 5%씩 감소하는 쿼리
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
- 주어진 상수값에 대해 단계적 으로 5%씩 감소하는 값을 구한다. 단, 최대 감소하는 단계는 10단계 임
SELECT (상수값 * (1 - (0.05 * (순서 - 1)))) / 10 AS 나눈값
FROM (
SELECT @rownum := @rownum + 1 AS 순서
FROM (SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) t1,
(SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) t2,
(SELECT @rownum := 0) r
) 순서테이블,
(SELECT @constant := 상수값) 설정;
여기서 "상수값"은 주어진 값이고, 필요에 따라 실제 데이터에 맞게 변경해 주세요. 이 쿼리는 0부터 9까지의 숫자를 생성하여 각 숫자에 해당하는 감소율을 적용한 후 10으로 나누어 결과를 반환합니다.