테스트 사이트 - 개발 중인 베타 버전입니다

mysql 문 질문 채택완료

뜨악뜨악 4년 전 조회 1,814

금요일 기준으로 1주일간 조회수가 높은 글을 뽑을려고 하는데요~

mysql where 절로 어떻게 표현해야할까요?

 

 

ex)

오늘 기준(금요일)으로 

지난주 토요일~이번주 금요일까지 제품 중에 

조회수가 높은 글을 조회하고 싶습니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
Big1
4년 전

쿼리만 해보면

범위) 저저번주 토요일 ~ 저번주 금요일까지 

</p>

<p>SELECT 

  wr_id,wr_subject,wr_datetime,wr_hit

FROM g5_write_free 

WHERE  wr_is_comment = '0' 

  and DATE_FORMAT(wr_datetime,'%Y-%m-%d') BETWEEN '2021-02-20' AND '2021-02-26'

ORDER BY wr_hit DESC

LIMIT 1;</p>

<p>

 

쿼리로 between 날짜 계산

</p>

<p>SELECT 

  wr_id,wr_subject,wr_datetime,wr_hit

FROM g5_write_free 

WHERE  wr_is_comment = '0' 

  and DATE_FORMAT(wr_datetime,'%Y-%m-%d') 

    BETWEEN 

      (SELECT * FROM (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL (WEEKDAY(NOW()) + 9) DAY), '%Y-%m-%d')) as startDate) 

    AND 

      (SELECT * FROM (SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL (WEEKDAY(NOW()) + 3) DAY), '%Y-%m-%d')) as endDate)

ORDER BY wr_hit DESC

LIMIT 1;</p>

<p>

 

아... 오늘을 기준으로 일주일전 데이터면

</p>

<p>SELECT 

  wr_id,wr_subject,wr_datetime,wr_hit

FROM g5_write_free 

WHERE  wr_is_comment = '0' 

  and DATE_FORMAT(wr_datetime,'%Y-%m-%d') BETWEEN DATE_ADD(CURDATE(),INTERVAL -6 DAY) AND CURDATE()

ORDER BY wr_hit DESC

LIMIT 1;</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

뜨악뜨악
4년 전
엇! 혹시
매주 금요일 기준으로
지난주 금요일~ 이번주 금요일은 어떻게 하는지 아시나요?ㅠ
B
Big1
4년 전
오늘 3/8 endDate 를 쿼리해보면
SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL (WEEKDAY(NOW()) + 3) DAY), '%Y-%m-%d') as endDate
2021-03-05 (금요일) 이 나오잖아요?
금요일이 기준일이므로
3월 12날 쿼리해도
기준일이 아직 지나지 않았기 때문에
쿼리에서 제외하고 3월 5일(금)이 나오는게 맞을 거 같고요

생각하시는대로 한다면
오늘 쿼리: 3월 6일 ~ 3월 12일이 되는 거기 때문에
또 이상해질 것입니다

위의 쿼리에서 + 3 숫자를 변경하면서
원하시는 값을 도출해보세요

댓글을 작성하려면 로그인이 필요합니다.

select 하시려는 게

상품인지 게시물인지 모르겠지만, 게시물이라고 하면

</p>

<p>$lastFriday= date( 'Y-m-d',   strtotime( 'last Friday'));</p>

<p>$res= sql_query( "select ... from bbs where wr_datetime >= '$lastFriday' "); order by wr_hit DESC limit N ");</p>

<p>

자세한 정보가 없어서 이 정도네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

뜨악뜨악
4년 전
오모나... 상품이랫다가 게시글이랫다가 난리네요 ㅠ 답변 감사합니다! ㅎ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인