MYSQL
-
-
검색필드값 조건 걸기MYSQL 2020. 7. 14. 13:44
//검색 필드에서 연산후 별칭을 주어 having 으로 논리연산 ex) SELECT ipc.ipc_name, ipc.ipc_code, eps.eps_m_code, COUNT(epu.epu_idx) AS exam_cnt, SUM(epu.epu_right_cnt + epu.epu_wrong_cnt) AS question_cnt, SUM(epu.epu_right_cnt) AS right_cnt, (SUM(epu.epu_right_cnt) / SUM(epu.epu_right_cnt + epu.epu_wrong_cnt)) * 100 AS rate FROM tb_exam_paper_user AS epu INNER JOIN tb_exam_paper_summery AS eps ON epu.epu_eps_idx = ep..
-
-
index란MYSQL 2020. 7. 14. 13:40
데이터들을 임의 테이블에 정렬하여 데이터에 대한 주소를 저장 ex) index : sq_member,sq_request sq_member정렬후 sq_request값정렬 하여 검색후 주소를 값을 전달하여 검색한다 table sq_member sq_request 임의주소 2 1 #001 3 3 #002 2 3 #003 1 2 #004 3 4 #005 3 3 #006 인덱스 정렬 임의테이블 sq_member sq_request 임의주소 1 2 #004 2 1 #001 2 3 #003 3 3 #002 3 3 #006 3 4 #005 위테이블형식으로 정렬이 되며 index거는 조건에 떄라 달라진다 sq_request,sq_member 반대로 거는경우 위 인덱스경우 타지 않는다 이러한경우 반대 인덱스도 걸어주어야 ..
-
order by case 또는 select caseMYSQL 2020. 6. 11. 17:18
//현재 대기중 상태가 최상위에 나오도록 임의 필드값설정 후 정렬 $rec->select("(CASE WHEN r.status = '".Request::STATUS_WAIT."' THEN 1 ELSE 2 END) AS case_order"); $rec->order(array("case_order" => "ASC"); 또는 ORDER BY (CASE WHEN r.status = '".Request::STATUS_WAIT."' THEN 1 ELSE 2 END) ASC;
-
데이터가 많은 DB셀렉트 처리하기MYSQL 2020. 6. 11. 17:06
a.*, e.bssamt FROM (SELECT bplic.* FROM BidPblancListInfoCnstwkInnoDB AS bplic INNER JOIN (SELECT DISTINCT bidNtceNo, bidNtceOrd FROM BidPblancListInfoLicenseLimitInnoDB WHERE lcnsLmtCode IN ( '0001', '0002', '0010', '0020', '0036', '0037', '1458', '1459', '1460' ) AND rgstDt BETWEEN '2017-10-01' AND '2019-03-31') AS lncs ON ( lncs.bidNtceNo = bplic.bidNtceNo AND lncs.bidNtceOrd = bplic.bidNtceO..
-
mysql explodeMYSQL 2020. 6. 9. 14:42
CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT) RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos), LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1), delim, ''); SELECT SPLIT_STRING('apple, pear, melon', ',', 2)