바람처럼 채팅 DB
send_deliver_num , check_deliver_num 은 보내는 사람 받는사람이고
message_thread는 확인했는지 안했는지,
send_deliver_flag, check_deliver_flag는
0이면 리스트나 목록에서 보이며, 1이면 리스트나 목록에서 보이지 않음(삭제된 상태)
바람처럼 채팅 목록 쿼리
SELECT t1.*
FROM tblRider_Notice t1
JOIN ( SELECT LEAST(send_deliver_num, check_deliver_num) user1,
GREATEST(send_deliver_num, check_deliver_num) user2,
MAX(t2.message_day) message_day
FROM tblRider_Notice t2 WHERE '$riderNum' IN (send_deliver_num, check_deliver_num) AND '0' IN (if(send_deliver_num='$riderNum',send_deliver_flag,check_deliver_flag))
GROUP BY user1, user2 ) t3 ON t1.send_deliver_num IN (t3.user1, t3.user2)
AND t1.check_deliver_num IN (t3.user1, t3.user2)
AND t1.message_day = t3.message_day ORDER BY t1.message_day DESC;
기존에 쓰던 쿼리가 너무 느려서 새로 변경하는데 너무 잘 되어서 공유합니다.
댓글