저는 초급자입니다 (DBA 아님). 내 데이터의 간단한 버전은 ==> 내 결과를 기대 : 나는 (B1, B2, 등) 각 공을 집계 할SUM, WHERE, GROUP_BY를 사용하는 MySQL 하위 쿼리
|ball |color|count| |ball |Total Blue|Total Red| ------------------- ---------------------------- |b1 |red | 2 | ====> |b1 | 5 | 2 | |b1 |blue | 3 | |b2 | 3 | 1 | |b1 |blue | 2 | |b2 |red | 1 | |b2 |blue | 3 |
. 그런 다음 각 공에 대한 각 색상의 전체 인스턴스입니다. 각 공의 각 색상에 대한 항목이 있습니다 (실제 데이터에서). 하지만 여기 파란색 # 1 볼에 대해서만 여러 항목을 표시합니다.
내가 쉽게이 작업을 수행 할 수 있습니다
SELECT ball,
SUM(count) AS 'Total Blue'
FROM t1
WHERE color = 'blue'
GROUP BY ball
가 첫 번째 (좋은) 결과를 얻으려면 :
|ball |Total Blue| ----------------- |b1 | 5 | |b2 | 3 |
더 나아가하려면, 난 하위 쿼리를 필요가 있다고 생각합니다. 그러나 하위 쿼리를 일반 쿼리와 같은 방식으로 처리 할 수 없었습니다.
|ball |Total Blue| Total Red| --------------------------- |b1 | 5 | 3 | |b2 | 3 | 3 |
총 빨간 공에 관계없이 모두 빨간 공의 총을 보여줍니다 :이 얻을
SELECT ball,
SUM(count) AS 'Total Blue',
(SELECT SUM(count) FROM t1 WHERE color = 'red') AS 'Total Red'
FROM t1
WHERE color = 'blue'
GROUP BY ball
: 아래
는 내가 지금까지 들어 왔 가장 가까운 결과 (단순 시도)입니다 번호. 나는 더 추가 된 영향이 하위 쿼리에 의해 GROUP 추가 한
(SELECT SUM(cc) FROM
(SELECT DISTINCT count AS cc FROM t1 WHERE color = 'red') AS dd)
AS 'Total Red'
:
(적색)이 더 복잡 하위 쿼리는 동일한 결과를 생성합니다. 이것은 내가 얻을 수 있었던만큼 가깝습니다. 다른 많은 시도에서 다양한 결과가 있습니다.
Wow that worked .... 너는 신이다 .... 나는 stackoverflow가 여기 앉아있는 것을 알고, 이것에 대해 며칠을 보냈다 .... 고마워! –