고민하다가 답을 찾지 못해 고수님들께 도움 요청합니다.
건물 ID와 마을번호가 있을 때
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
이런식으로 된 값이 있을 시
건물 id가 매일 6시 기준으로 또는 밤 12시 기준으로 데이터는 변경되지 않지만 보여지는 순서는 랜덤으로 변경되어야 합니다.
매번 랜덤으로 보여지는 것이 아닌 하루 기준인 거죠.
어떤 식으로 해야할지 답이 안 나오네요.
한가지 변수로 가지고 있는 UserID는 고유번호라 사용할 수 있는 번호입니다. 그냥 일련번호라고 생각하시면 됩니다.
날짜와 이 변수에 담긴 UserID 조합으로 어떻게 될 듯 한데 잘 안 되네요..
도움 요청 드립니다.
Comment 4
-
건우아빠
2013.09.24 12:22
하루기준으로 보여준다고 해도 봤냐의 여부가 있어야 하지 않을까 생각됩니다...
UserID별로 일자별 한번조회를 했는지의 여부가 있어야 .
시간대에 따라 랜덤으로 나오게는 어렵지 않지만 정확히 그시간으로 고정 되어 있고 그 시간에 정확히 조회하지 않으면 랜덤은 되지 않고 또한 시간대로 준다면 그 시간대에 2번이상 조회해도 랜덤이 되기 때문에 조회했냐의 여부가 있지 않으면 그 시간대에 한번이라는 조건을 만족 하기는 어려울듯 합니다.
-
퀸동
2013.09.24 13:14
건우아빠님은 내용을 잘 못 이해하고 계신 듯 하네요
-
건우아빠
2013.09.24 14:16
한번이아니라 시간대에서는 랜덤으로 보여 진다는 말씀이신가요..
정렬컬럼을 하나 추가하고
매일 6시가 되면 그 컬럼에 RAND()값의 결과를 저장하고 그 컬럼으로 정렬하면 어떨까요?
아니면 오늘 날짜를 INT로 변환하고 거기에 USERID를 더한 값을 RAND()의 SEED로 제공한 값으로 정렬
SELECT RAND(CONVERT(INT, GETDATE()) + USERID)