1
나는이 쿼리로 머리를 쓰고있다.MySQL 중첩 SELECT
Date Weight kg
-------------------
2012-04-16 12.4
2012-04-17 9.6
2012-04-16 5.4
2012-04-18 2.8
2012-04-16 4.5
... ...
내가 쿼리는이 결과를 반환 할 : :이 같은 (간체)을 보이는 테이블이
Week.no. <3kg 3-7kg >7kg
----------------------------
16 2.8 9.9 22.0
... ... ... ....
이것은 내가 지금까지 무엇을 가지고 :
SELECT *, CONCAT(WEEK(`Date`)) AS Week, SUM(`Weight`) AS TotalWeight,
(SELECT SUM(`Weight`) FROM tbl_fangster WHERE `Weight` < 3 AND
`Date` >= '2012-04-01 00:00:00' AND `Date` <= '2012-04-30 00:00:00'
AND `Species` = 'Salmon') AS SumSmall
FROM tbl_fangster
WHERE `Date` >= '2012-04-01 00:00:00'
AND `Date` <= '2012-04-30 00:00:00'
AND `Species` = 'Salmon'
GROUP BY CONCAT(WEEK(`Date`))
하지만 SumSmall은 매주 동일한 SumSmall 대신 SumSmall을 반환합니다. 하위 쿼리에 내 GROUP 절을 복사하려고했지만 작동하지 않았습니다.
하위 쿼리는 해당주의 간격 만 지정해야합니다. –
하위 쿼리는 컨테이너 쿼리의 필드에 종속되지 않으므로 매번 같은 값을 반환합니다. 하위 쿼리가 상위 쿼리의 필드를 사용하여 상관 관계가있는 상관 하위 쿼리를 원할 것입니다. http://en.wikipedia.org/wiki/Correlated_subquery –