我有如下表: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。 –