나는 내 게시판 만들기에 열심히 노력하고 있지만 잘 작동하지만 게시판에 게시물을 추가하고 싶습니다 (게시물 끝에있는 다이어그램).이 쿼리에 MySQL SUM() 함수를 추가하는 방법은 무엇입니까?
SELECT p.post_id, p.user_id, u.username, get_time_diff(p.date) as date, p.ip, p.text, p.parent_post_id, p.approved AS posts
FROM msgboard_post p, msgboard_user u
WHERE p.user_id = u.user_id
AND p.approved = "yes"
ORDER BY p.date DESC
-- code for limit...
을 그래서 지금은 세 번째 테이블, msgboard_vote 함께 일해야합니다
나는이 같은 msgboard_post msgboard_user 내 두 테이블에서 원하는 데이터를 당겼다. 모든 표는 표에서 한 행을 가져오고 그 결과에 표를 합산하여 한 표를 얻고 싶습니다. 투표 (vote_value)는 1 또는 -1이 될 수 있습니다. 투표가없는 게시물 (msgboard_vote에서 행 없음)은 결과에서 0으로 요약되는 것이 바람직하며, null도 함께 표시됩니다. 는 는몇 시간 동안 땜질 된 는 ... /이
나를 도와 주신 Malvolio에게 감사드립니다. 정말 최고! 나는 합계가 아닌 코드 에서처럼 count (*)로 전환 할 수도 있습니다. 사용자가 부정적인 게시물에 투표하기 시작하면 사람들이 불쾌감을 느낄지 확신 할 수 없습니다. 어쩌면 최고 일 것입니다. – Marcus
'count'를 사용할 수 있다면, 옵티마이 저가 인덱스 페이지에서 카운트를 계산할 수 있고 쿼리가 두 배 빠르게 실행되기 때문에해야합니다. 'SUM'을 사용한다면, 실제 값을 가져 와서 null이 아닌지 검사해야 할 수도 있습니다. – Malvolio