저도 문제 하나 내 봅니다. ㅠ_ㅠ/
그누보드 게시판 구조에 대한 약간의 이해와 sql문에 대한 약간의 이해가 필요한 문제입니다.
초급이라고 하기엔 초보자에게 조금 난이도가 있을 것 같아 중급? 으로 난이도를 책정했습니다.
- 게시판에 글과 댓글을 많이 쓴 우수회원을 뽑고자 한다.
- 글 하나에 10점, 댓글 하나에 2점의 점수를 부여해 합산후 5명을 출력한다.
- 산출 기간은 2011-08-01 00:00:00 부터 2011-08-31 23:59:59 까지로 한다.
입니다.
답글이 안 되는군요. 아래에 흰색글씨로 답 첨부하겠습니다..; 드래그 하시면 답이 보이실겁니다.
좀 더 좋은 방법이 있을 것 같은데 sql문의 압박 때문에 제 머리로는 현재 저정도입니다. ㅠㅠ
실제 부탁 받은 부분은 조금 더 복잡한 부분입니다만, 이 부분이 핵심일 것 같네요. ㅎ
답:
/* 설정 시작 */
$점수['게시물'] = 10; // 게시물 하나당 점수
$점수['댓글'] = 2; // 댓글 하나당 점수
$명수 = 5; // 몇 명이나 뽑을지
/* 설정 끝 */
$sql = "SELECT mb_id, SUM( IF(wr_id=wr_parent, 1, 0))*{$점수['게시물']}+SUM( IF(wr_id=wr_parent, 0, 1))*{$점수['댓글']} AS total
FROM $g4[board_new_table]
WHERE bn_datetime BETWEEN '2011-08-01 00:00:00' and '2011-08-31 23:59:59'
GROUP BY mb_id order by total desc limit 0, {$명수}";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
$temp[] = $row;
}
print_r2($temp);
댓글 2개
14년 전
sql에서 if와 sum을 쓰시는 분들이 얼마나 계실까라는 생각이 듭니다.
문제를 보자마자 아하 라는 분들도 계시겠지만요.
while을 생각하시는 분들이 더 많을 듯하네요.
왜냐하면 통계나 데이터마이닝을 하는 분들이 적을것이라는 생각 때문입니다.
재미있는문제 감사합니다.
문제를 보자마자 아하 라는 분들도 계시겠지만요.
while을 생각하시는 분들이 더 많을 듯하네요.
왜냐하면 통계나 데이터마이닝을 하는 분들이 적을것이라는 생각 때문입니다.
재미있는문제 감사합니다.
14년 전
between and 를 사용함으로 bn_datetime 은 int 형으로 선언하여 unix_timestamp 형태로 저장하여 속도를 높히는게 좋겠네요.
mysql에서 datetime 형이 index를 잘 사용하는지 모르겠네요.(mysql은 원래 빠른 녀석이긴 하지만..)
mysql에서 datetime 형이 index를 잘 사용하는지 모르겠네요.(mysql은 원래 빠른 녀석이긴 하지만..)
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3630 | 14년 전 | 1175 | ||
| 3629 | 14년 전 | 794 | ||
| 3628 | 14년 전 | 1082 | ||
| 3627 | 14년 전 | 3028 | ||
| 3626 | 14년 전 | 1407 | ||
| 3625 | 14년 전 | 791 | ||
| 3624 | 14년 전 | 1583 | ||
| 3623 | 14년 전 | 951 | ||
| 3622 | 14년 전 | 481 | ||
| 3621 | 14년 전 | 2371 | ||
| 3620 | 14년 전 | 771 | ||
| 3619 |
하모니칼수
|
14년 전 | 833 | |
| 3618 | 14년 전 | 1143 | ||
| 3617 | 14년 전 | 1020 | ||
| 3616 |
방황하는중년
|
14년 전 | 1069 | |
| 3615 |
아놔6636
|
14년 전 | 581 | |
| 3614 |
아놔6636
|
14년 전 | 2456 | |
| 3613 | 14년 전 | 876 | ||
| 3612 |
forever
|
14년 전 | 1483 | |
| 3611 |
SaNoRaMyun
|
14년 전 | 1170 | |
| 3610 | 14년 전 | 1188 | ||
| 3609 | 14년 전 | 872 | ||
| 3608 | 14년 전 | 1169 | ||
| 3607 | 14년 전 | 748 | ||
| 3606 | 14년 전 | 761 | ||
| 3605 | 14년 전 | 1584 | ||
| 3604 | 14년 전 | 1336 | ||
| 3603 | 14년 전 | 1143 | ||
| 3602 | 14년 전 | 1193 | ||
| 3601 | 14년 전 | 1919 | ||
| 3600 | 14년 전 | 1495 | ||
| 3599 | 14년 전 | 605 | ||
| 3598 | 14년 전 | 1489 | ||
| 3597 | 14년 전 | 1271 | ||
| 3596 |
anfernee
|
14년 전 | 1355 | |
| 3595 | 14년 전 | 831 | ||
| 3594 | 14년 전 | 870 | ||
| 3593 | 14년 전 | 821 | ||
| 3592 | 14년 전 | 813 | ||
| 3591 | 14년 전 | 1452 | ||
| 3590 | 14년 전 | 780 | ||
| 3589 |
쉽다zzz
|
14년 전 | 1069 | |
| 3588 | 14년 전 | 1351 | ||
| 3587 | 14년 전 | 1400 | ||
| 3586 | 14년 전 | 1089 | ||
| 3585 |
플레이디원
|
14년 전 | 1845 | |
| 3584 |
행복한숭아씨
|
14년 전 | 1171 | |
| 3583 | 14년 전 | 1822 | ||
| 3582 |
|
14년 전 | 1371 | |
| 3581 |
|
14년 전 | 1013 | |
| 3580 |
|
14년 전 | 3097 | |
| 3579 | 14년 전 | 1543 | ||
| 3578 |
|
14년 전 | 1020 | |
| 3577 | 14년 전 | 867 | ||
| 3576 | 14년 전 | 1542 | ||
| 3575 |
|
14년 전 | 959 | |
| 3574 |
visualp
|
14년 전 | 765 | |
| 3573 |
visualp
|
14년 전 | 686 | |
| 3572 |
visualp
|
14년 전 | 1938 | |
| 3571 |
visualp
|
14년 전 | 597 | |
| 3570 | 14년 전 | 844 | ||
| 3569 | 14년 전 | 1600 | ||
| 3568 | 14년 전 | 946 | ||
| 3567 |
순천홈페이지
|
14년 전 | 933 | |
| 3566 | 14년 전 | 1473 | ||
| 3565 |
|
14년 전 | 1153 | |
| 3564 | 14년 전 | 1222 | ||
| 3563 | 14년 전 | 1019 | ||
| 3562 | 14년 전 | 2320 | ||
| 3561 | 14년 전 | 1105 | ||
| 3560 |
|
14년 전 | 830 | |
| 3559 | 14년 전 | 1012 | ||
| 3558 | 14년 전 | 766 | ||
| 3557 |
acting1
|
14년 전 | 795 | |
| 3556 |
acting1
|
14년 전 | 620 | |
| 3555 |
브라이튼스쿨
|
14년 전 | 828 | |
| 3554 | 14년 전 | 1212 | ||
| 3553 | 14년 전 | 1460 | ||
| 3552 | 14년 전 | 913 | ||
| 3551 | 14년 전 | 1067 | ||
| 3550 | 14년 전 | 918 | ||
| 3549 |
|
14년 전 | 1096 | |
| 3548 | 14년 전 | 1379 | ||
| 3547 |
|
14년 전 | 1144 | |
| 3546 |
noseart
|
14년 전 | 1335 | |
| 3545 | 14년 전 | 1110 | ||
| 3544 |
비니1234
|
14년 전 | 1039 | |
| 3543 |
비니1234
|
14년 전 | 1073 | |
| 3542 |
zerocooling
|
14년 전 | 1015 | |
| 3541 | 14년 전 | 1545 | ||
| 3540 | 14년 전 | 1496 | ||
| 3539 |
피디인사이드
|
14년 전 | 1318 | |
| 3538 |
soing
|
14년 전 | 1421 | |
| 3537 | 14년 전 | 1653 | ||
| 3536 |
|
14년 전 | 652 | |
| 3535 | 14년 전 | 1115 | ||
| 3534 | 14년 전 | 471 | ||
| 3533 | 14년 전 | 939 | ||
| 3532 | 14년 전 | 1404 | ||
| 3531 | 14년 전 | 859 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기