· 9 years ago · Nov 24, 2016, 12:36 PM
1CREATE TEMPORARY TABLE IF NOT EXISTS A (id NUMERIC PRIMARY KEY, name TEXT);
2CREATE TEMPORARY TABLE IF NOT EXISTS B (id NUMERIC PRIMARY KEY, aId NUMERIC REFERENCES A(id), data TEXT, start NUMERIC);
3
4INSERT INTO A (id, name) VALUES (1, '1');
5INSERT INTO A (id, name) VALUES (2, '2');
6
7INSERT INTO B (id, aId, data, start) VALUES (1, 1, '3', 3);
8INSERT INTO B (id, aId, data, start) VALUES (2, 1, '10', 10);
9INSERT INTO B (id, aId, data, start) VALUES (3, 2, '4', 4);
10
11SELECT A.*, count(B)
12FROM A
13 LEFT JOIN B ON (A.id = B.aId AND B.start > 5)
14GROUP BY A.id, A.name, B.data;