Mysql5 에서 rownum 과 그룹별 rownum
이런 table이 있다고 가정하자 name : scores column : class, name, score class (반), name(학생이름), score(점수) 하고자 하는 작업은 각 반별로 상위 점수 3명을 구하는 것이다. 1. rownum mysql에서는 rownum을 제공하지 않기 때문에 다음과 같이 해서 구할 수 있다. select class, name, score, @rownum:=@rownum+1 as rownum from scores, (select @rownum:=0) r 2. rownum by group : 그룹별로 rownum을 만들어 보자 -- group 별 rownum select class, name, score , case when @grp = class then @row..
MYSQL 쿼리 활용 FIND_IN_SET
쿼리를 쓰다 하나의 속성 값에 여러 코드의 값이 ',' 로 묶여 하나의 문자열로 저장되어 있었는데, 현재 ',' 로 엮인 코드들을 OR 값으로 검색해야 하는 일이 생겼다. LIKE 절로 하자니 ,,,,, 뭔가 지저분해서 찾은 방법이 FIND_IN_SET 이다! FIND_IN_SET 는 두 개의 인자를 받는다. FIND_IN_SET( 찾고자 하는 문자열, 타겟 컬럼 ) 아래와 같이 쿼리를 작성하면 즉, CODE 컬럼에 'SB' 라는 문자열이 존재한다면 'SB' 의 인덱스를 반환한다 ! 따라서 0 이상이면 내가 찾고자하는 코드가 있다는거다 ! 쿼리 활용 SELECT * FROM SBTABLE WHERE FIND_IN_SET( 'SB', CODE ) > 0 MYBATIS 활용 WHERE FIND_IN_SET(..