select문 조언부탁드립니다 채택완료
게시판에
wr_1 영업시간
wr_2 영업마감시간을 넣었습니다
둘다 숫자로 들어가요
예 ] wr_1 = 1 , wr_23
이런식으로 들어가는데요
영업시간일때 우선순위로 뽑고싶어요
예를들어서 배달의 민족보면 영업시간은 위로 오고 영업시간아닌애들은 아래로 가자나요
그런식으로 구현하고싶은데 bbs/list파일에 select를 어떡게 해야지 영업시간이 위로 영업시간외는 아래로 게시물이 내려갈수있는지 어려워요.
고수님들 부탁드려요~
답변 4개
</p><p>SELECT *,
CASE
WHEN wr_1 <= date_format(now(),'%H') AND wr_2 > date_format(now(),'%H') THEN 1
ELSE 2
END AS ord
FROM 테이블명</p><p>ORDER BY ord,wr_2</p><p>
쿼리문을 위 소스와 같이 처리하시면 됩니다.
그럼 현재 영업중인 상점부터 정렬되고 영업종료시간이 가까운 순서대로 정렬 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
SELECT *, IF(wr_1 <= HOUR(NOW()) AND wr_2 > HOUR(NOW()), 1, 0) AS is_open FROM 테이블 ORDER BY is_open DESC, wr_1 ASC
이렇게 하셔도 됩니다.
wr_1에 1이 들어 있다고 말씀하셔서 wr_1, wr_2에 그냥 시간만 들어간 거라고 가정하고 쓴 겁니다.
댓글을 작성하려면 로그인이 필요합니다.
단순할거같은데여 select하고 wr_1와 wr_2사이 것만 찾으면 댈거같네여
wr_1 > 현재시간 and wr_2 < 현재시간
현재시간은 now()나 date("Ymd"); 변수로 넣어서 조건을 주면 대겠죠~
답변에 대한 댓글 4개
http://blog.naver.com/whydda/220726166336
또는 mysql union all 검색하세여
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인