sql 카운트가 에러? 가 납니다.

sql 카운트가 에러? 가 납니다.

QA

sql 카운트가 에러? 가 납니다.

답변 2

본문


        $sql = "
            select
            mb_id,
            mb_1,
            mb_name,
            mb_level, 
            count(*) as cnt
            from {$g5['member_table']}
            where mb_1 = '{$stx1}'
        ";

 

count(*) as cnt 를 빼면 정상적인 값이 나오는데

count(*) as cnt 를 넣으면 값이 1개뿐이 안나오네요

 

개수를 세고 싶은데 count를 넣으면 값이 한개만 나옵니다.

이 질문에 댓글 쓰기 :

답변 2


$sql = " select mb_id, mb_1, mb_name, mb_level, count(*) as cnt from {$g5['member_table']} where mb_1 = '{$stx1}' "; 
 
<--- count를 쓰면 레코드를 여러개 가져오지않습니다
      이 경우   mb_id, mb_1, mb_name, mb_level 이런 필드 추출은 아무 의미가 없습니다
      그냥 테이블에 등록 된 순서에서 조건에 맞는 맨 앞의 것을 가져옵니다
 
 위의 쿼리문은 $row=sql_fetch($sql); 하면 $row['cnt'] = 10 하나만 나와야 됩니다
 조건이 $stx1인 것을 count 하는데 더 이상 무엇이 필요한가요?
 카운트와 조건에 맞는 레코드 전체를 구하려면 다음처럼 합니다
 
$sql = " select mb_id, mb_1, mb_name, mb_level from {$g5['member_table']} where mb_1 = '{$stx1}' "; 
$qq =sql_query($sql);
$cnt = sql_num_rows($qq); //전체 갯수
while($row=sql_fetch($qq)) print_r($row);
]

 

 

 

     

갯수(회원명수)를 세면 당연히 숫자 하나만 나와야 하는 거 아닌가요?

어떤 갯수를 원하시는 건가요?

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 27
© SIRSOFT
현재 페이지 제일 처음으로