"select Top 7 int_num, munje, submunje, dap1, dap2, dap3, dap4, chapter, MunjeLevel, jungdap, newId() from question where chapter = '" + chapter + "' and MunjeLevel = '하' UNION all select Top 7 int_num, munje, submunje, dap1, dap2, dap3, dap4, chapter, MunjeLevel, jungdap, newId() from question where chapter = '" + chapter + "' and MunjeLevel = '중' UNION all select Top 6 int_num, munje, submunje, dap1, dap2, dap3, dap4, chapter, MunjeLevel, jungdap, newId() from question where chapter = '" + chapter + "' and MunjeLevel = '상' order by newId()";
우선 JSP이고 문제 푸는 사이트를 제작하려하는데
테이블명은 question이고 테이블안에 과목(chapter)이 5개 있습니다.
과목 선택을 하면 난이도(MunjeLevel)를 상 중 하로 나누고 각 난이도마다 난이도 상은 6문제, 난이도 중은 7문제, 난이도 하는 7문제 문제가 계속 딴 문제가 나오게 랜덤으로 나오게 설정하려고 하는데
MSSQL로 실행해 보니까 제가 의도한대로 나오지 않고 한과목당 약 200문제가 DB에 저장되어 있는데 거기서 일정한 20문제가 미리 뽑혀서 이 20 문제가 순서만 랜덤으로 돌아가는 형식으로 되어있었습니다. (똑같은 20 문제가 순서만 바뀌어서 랜덤으로 돌아갑니다)
그래서 question 테이블 안에 있는 문제 들을 위에 제가 했던 것과 달리 과목당 200개의 데이터가 있는데 200개 중에 20개를 무작위로 착출하여 랜덤으로 돌아 갈 수 있게 SELECT 문을 좀 수정하여 알려주셨으면 합니다. |