我有如下表:MySQL的 - 算在同一個表
+----+---------------------+---------------+
| id | created_at | deklaracja_id |
+----+---------------------+---------------+
| 1 | 2015-01-09 12:14:00 | 1 |/*deklaracja*/
| 2 | 2015-02-09 12:14:00 | 1 |/*korekta for 1*/
| 3 | 2015-03-09 12:14:00 | 3 |/*deklaracja/
| 4 | 2015-01-09 12:14:00 | 3 |/*korekta for 3*/
| 5 | 2015-10-09 12:14:00 | 3 |/*korekta for 3*/
| 6 | 2015-10-09 12:14:00 | 6 |/*deklaracja*/
+----+---------------------+---------------+
電導率: ID = deklaracja_id是 「deklaracja」 ID <> deklaracja_id是 「korekta」
我需要一個查詢晚於2015-01-09顯示所有「deklaracja」和他們的「korekty」的數量。
Ex.
+----+---------------------+---------------+
| id | created_at | korekty_count |
+----+---------------------+---------------+
| 1 | 2015-01-09 12:14:00 | 1 |
| 3 | 2015-03-09 12:14:00 | 2 |
| 6 | 2015-10-09 12:14:00 | 0 |
+----+---------------------+---------------+
我已經試過類似:
SELECT *,
SUM(CASE WHEN (id <> deklaracja_id)THEN 1 ELSE 0 END)
AS korekty_count
FROM Deklaracja
WHERE created >= '2015-09-01 00:00:00'
,但它不工作,現在我完全卡住:/
爲什麼「1,3,和6'? – Strawberry
@Strawberry,因爲列ID'等於'這些記錄的列deklaracja_id。 –