반응형
동일한 쿼리에서 모든 열과 개수(*)를 선택하는 방법
TSQL에서는 다음 쿼리를 자주 사용합니다.
SELECT COUNT(*), *
FROM CUSTOMER c
WHERE c.Name like 'foo%';
Oracle SQL Developer에서 이 쿼리를 실행하려고 하면 작동하지 않고 오류가 발생합니다.
"식 누락"
어떤 구문이 좋을까요?
잘 부탁드립니다.
이렇게 하면 성능이 향상됩니다.
SELECT COUNT(*) OVER (), c.*
FROM CUSTOMER c
WHERE c.Name like 'foo%';
한 가지 방법은 다음과 같은 작업을 수행하는 것입니다.이것에 의해, 각 행의 카운트(*) 결과가 됩니다.그러나 주의하세요. 데카르트조인이 있습니다.foo%와 같은 행이 많으면 성능이 저하됩니다.
select a.cntr, c.*
from CUSTOMER c
, (select count(*) cntr
from customer b
where b.name like 'foo%' ) a
where c.name like 'foo%'
여기 MySQL 코드 아래는 단일 쿼리에서 선택 * 및 총 행을 모두 가져오는 방법입니다.
$result = $db->get_results("SELECT a.total, c.* FROM tableName c,
(select count(*) total from tableName b where b.post=25) a
where c.post=25");
그러면 변수 합계를 구하여 카운트를 가져올 수 있으며 *는 테이블 열에 따라 에 사용할 수 있습니다.
그런데 어떻게 하면 foreach() 없이 합계를 얻거나 직접 vaile에 넣을 수 있을까요?
포어치 없이 총체적으로 갑니다.
echo "Total: ".count($result);
언급URL : https://stackoverflow.com/questions/17187124/how-to-select-all-columns-and-a-count-in-the-same-query
반응형
'IT' 카테고리의 다른 글
Angular를 만드는 방법JS 명령으로 전파를 중지하시겠습니까? (0) | 2023.02.22 |
---|---|
구성 요소를 JSX 구성 요소로 사용할 수 없습니다.반환 형식 'Element[]'는 올바른 JSX 요소가 아닙니다. (0) | 2023.02.18 |
Oracle : 동일한 행의 서로 다른 열에서 최대값을 선택합니다. (0) | 2023.02.14 |
동일한 페이지에서 두 개의 개별 Angular js 앱을 실행하는 방법 (0) | 2023.02.14 |
가치와 같은 이름의 리액트 소품 (0) | 2023.02.14 |