select문 조언부탁드립니다
본문
게시판에
wr_1 영업시간
wr_2 영업마감시간을 넣었습니다
둘다 숫자로 들어가요
예 ] wr_1 = 1 , wr_23
이런식으로 들어가는데요
영업시간일때 우선순위로 뽑고싶어요
예를들어서 배달의 민족보면 영업시간은 위로 오고 영업시간아닌애들은 아래로 가자나요
그런식으로 구현하고싶은데 bbs/list파일에 select를 어떡게 해야지 영업시간이 위로 영업시간외는 아래로 게시물이 내려갈수있는지 어려워요.
고수님들 부탁드려요~
답변 4
SELECT *,
CASE
WHEN wr_1 <= date_format(now(),'%H') AND wr_2 > date_format(now(),'%H') THEN 1
ELSE 2
END AS ord
FROM 테이블명
ORDER BY ord,wr_2
쿼리문을 위 소스와 같이 처리하시면 됩니다.
그럼 현재 영업중인 상점부터 정렬되고 영업종료시간이 가까운 순서대로 정렬 됩니다.
!-->단순할거같은데여 select하고 wr_1와 wr_2사이 것만 찾으면 댈거같네여
wr_1 > 현재시간 and wr_2 < 현재시간
현재시간은 now()나 date("Ymd"); 변수로 넣어서 조건을 주면 대겠죠~
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에 그냥 시간만 들어간 거라고 가정하고 쓴 겁니다.
다들 감사합니다 부러워요..
답변을 작성하시기 전에 로그인 해주세요.