测试结构:
CREATE TABLE a (
id INT
);
CREATE TABLE b (
id INT,
a_id INT,
sum INT
);
INSERT INTO a SET id=1;
INSERT INTO b SET id=1, a_id=1, sum=2;
INSERT INTO b SET id=2, a_id=1, sum=3;
有必要从当前行的id相等a的记录数中获取每一行的一个select ,以及所有字段sum的总和。如果没有这样的记录,则该行仍应保留在输出中。我根本不知道怎么写,除了用.ba_idajoin
问题示例:
id -- count(*) -- sum(sum)
1 -- 2 -- 5
原则上,一切都与您在条件中所写的完全相同:它们被考虑
count并sum分组a_id。但一般来说,该表а只是将同一个表与分组连接起来。结果,如果 for
a中没有记录b- 那么就会有nullhttp://sqlfiddle.com/#!9/35471b/8
在小提琴上我得到了和你一样的结果