자료 조회가 이상합니다.
본문
안녕하세요.
저의 테스트 환경은 아래와 같습니다.
- Apache
- 데이터베이스 클라이언트 버전: libmysql - mysqlnd 8.1.9
- PHP 확장: mysqli curl mbstring
- PHP 버전: 8.1.9
- GNU Version 5.5.8.3.2
디버깅해서 확인한 SQL 문의 결과가 1로 나옵니다.
SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000))
그런데 실제 테이블에는 더 많은 레코드가 있거든요.
테이블이 아래와 같구요.
걸리는 것은 사용환경이 맥북인데, 여기저기 뒤져보니 맥북의 한글처리가 문제가 있는것처럼 보이는데, 그걸까요?
테이블 인코드는 utf8_general_ci 입니다.
phpmyadmin에서 위 SQL을 던져도 결과는 같습니다.
instr 대신이 like를 사용해도 같은 결과가 나오더라구요.
귀신에 홀린것도 아니고...
경험이 있으신 분의 조언을 부탁드립니다.
!-->답변 3
cnt가 1로 나온다는 건가요?row가1개 나온다는건가요?
위 sql문에서는 row가 1개 나오는건 정상이고, cnt는 1이나오면 이상한게 맞습니다.
SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000));
SELECT * FROM g5_write_ebook WHERE ((INSTR(wr_subject, '이상')) ) and (wr_num between -81 and (-81 + 10000));
모두 1개 나옵니다. !-->
답변을 작성하시기 전에 로그인 해주세요.