CREATE TABLE my_emp AS SELECT * FROM emp;
ALTER TABLE my_emp ADD sex VARCHAR2(1);
UPDATE my_emp SET sex=MOD(empno,2);
这回要男女分开,有利精神文明建设。哈哈
SELECT A.*,
sex || CEIL(RANK() OVER(PARTITION BY A.SEX ORDER BY ROWNUM)/2) AS ROOM_ID
FROM (SELECT * FROM my_emp ORDER BY DBMS_RANDOM.random) A;
我想到了over 却没想到ceil 这是itpub szusunny 兄台写的。不错不错。
ENAME SEX ROOM_ID
---------- --- -----------------------------------------
MARTIN 0 01
MILLER 0 01
ADAMS 0 02
TURNER 0 02
BLAKE 0 03
JONES 0 03
SCOTT 0 04
FORD 0 04
JAMES 0 05
CLARK 0 05
SMITH 1 11
ALLEN 1 11
WARD 1 12
KING 1 12