[SQL] 합니까 MySQL은 MSSQL처럼 @@ ROWCOUNT에 해당하는가?
SQL합니까 MySQL은 MSSQL처럼 @@ ROWCOUNT에 해당하는가?
@@ ROWCOUNT는 MSSQL에서와 같이 어떻게 MySQL의에서 행 개수 값을받을 수 있나요?
해결법
-
==============================
1.에 select를 들어 당신은 FOUND_ROWS 구조를 (여기 문서화)를 사용할 수 있습니다 :
에 select를 들어 당신은 FOUND_ROWS 구조를 (여기 문서화)를 사용할 수 있습니다 :
SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever; SELECT FOUND_ROWS( ) ;
이는 지난 SELECT 쿼리의 행 수를 반환합니다 (또는 첫 번째 쿼리가 LIMIT 절을 경우, 그것은 행 제한없이이 있었던 것의 수를 반환).
UPDATE를 들어 / / INSERT 삭제, 그것은 ROW_COUNT 구조입니다
INSERT INTO your_table VALUES (1,2,3); SELECT ROW_COUNT();
어떤 영향을받는 행의 수를 반환합니다.
-
==============================
2.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name -> WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS();
여기에 대해 자세히 알아보기
-
==============================
3.가장 간단한 방법은 변수를 사용하는 것입니다 :
가장 간단한 방법은 변수를 사용하는 것입니다 :
mysql> SELECT @rowcount:=COUNT(*) FROM my_table; mysql> SELECT @rowcount;
또는 당신은 FOUND_ROWS () SELECT 문에 SQL_CALC_FOUND_ROWS 퍼팅 후 구문을 사용할 수 있습니다.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM my_table; mysql> SELECT FOUND_ROWS();
-
==============================
4.또 다른 방법이있다 :
또 다른 방법이있다 :
CREATE TEMPORARY TABLE `results` AS ( *** Your query without LIMIT *** );
행 수를 가져옵니다
SELECT COUNT(*) FROM `results`;
당신의 부분 집합을 받기
SELECT * FROM `results` LIMIT 5,10;
임시 테이블은 현재 세션에 존재합니다. 나는 아직도 청소 후 것
DROP TEMPORARY TABLE `results`;
from https://stackoverflow.com/questions/2229218/does-mysql-have-an-equivalent-to-rowcount-like-in-mssql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 피벗 행과 열로 (사용자 정의 회전) (0) | 2020.04.15 |
---|---|
[SQL] 두 날짜 사이의 계산 업무 시간 (0) | 2020.04.15 |
[SQL] 어떻게 SQL 서버의 저장 프로 시저 매 시간마다 실행? (0) | 2020.04.14 |
[SQL] 데이터베이스에서 가장 가까운 숫자 값을 찾기 (0) | 2020.04.14 |
[SQL] SQL WHERE 절 후행 공백 매칭 값 (0) | 2020.04.14 |