2012-09-06 2 views
1

인접한 열에서 결과의 결과 및 행 수를 계산할 수 있습니까?

id name count 
1 abc  10 
2 def  10 
.  .  . 
.  .  . 
.  .  . 

같은 결과를 가져올 수 있나요 t1

>desc t1; 
     id  int 
    name varchar(30) 

>select count(*) from t1; 
     count(*) 
     10 

으로 우리에게 표를 말할 수 있습니다 경우 실제 결과 열 id name와의 수 결과 쿼리 count이 동일한 결과 집합에 있습니다. 그렇게 할 수 있습니까? 기본적으로 데이터베이스에 개수를 별도로 쿼리하지 않고 결과 행 개수를 결과와 함께 가져 오는 것이 기본 개념입니다. 하위 쿼리도 괜찮습니다.

감사합니다.

+0

'count'는 no입니다. 현재 행뿐만 아니라 결과 집합의 전체 행 수는 일정해야합니다. –

답변

3

예,이 가능하다. MySQL이 물건을 최적화하는 방식 때문에 꽤 효율적입니다.

SELECT t.*, 
     (select count(*) from t1) as count 
    FROM t1 t 
+0

감사합니다. 작동 중입니다. –

+0

@Olloe Jones이 쿼리에서 여러 열을 반환 할 수 있습니까? (선택 개수 (*), SUM (COLUMN1) from t1) 개수로 – Selva

+0

예. 그럴 수도 있지만 SUM()은 COUNT()만큼 효율적이지 않습니다. –

3
SELECT * FROM t1, (SELECT COUNT(*) AS count FROM t1) t2 
+0

감사합니다. 작동 중입니다. –

2

시도 :

select id, name, (select count(*) from t1) as cnt from t1; 
+0

감사합니다. 작동 중입니다. –

관련 문제