Rownum(2)
-
MySQL - rownum, rank, SQL_CALC_FOUND_ROWS
Oracle의 RANK() OVER 같은 결과를 만들어 낼 수 있는 SQL이다. 특정 Key1를 기준으로 해당 Key1내에서 Key2를 기준으로 순위를 만드는 SQL이다. (아래에서는 rnum을 기준으로, created에 따라서 순위를 만들고 있다.) SELECT * FROM ( SELECT a2.* , @rn := CASE WHEN @key1 != rnum THEN 1 ELSE @rn + 1 END AS rank , @rk := CASE WHEN @rn = 1 THEN 1 WHEN @key2 = created THEN @rk ELSE @rn END AS tmp_val , @key1 := rnum , @key2 := created FROM ( SELECT ... AS rnum , ... AS create..
2017.11.29 -
MSSQL - ROWNUM
Oracle의 ROWNUM과 같은... 하지만, Oracle에서처럼 바로 사용할 수는 없다. WHERE ROWNUM < 2; 한 번 더 감싸서 써야 한다...;;; SELECT ... FROM ( SELECT ROW_NUMBER() OVER(ORDER BY 컬럼) AS RNUM FROM ... WHERE ... ) a WHERE RNUM = 1
2015.05.12