数据表test
中有以下数据
{name: 'a', parent_key: 1,value: 11},
{name: 'b', parent_key: 3,value: 12},
{name: 'c', parent_key: 3,value: 13},
{name: 'd', parent_key: 3,value: 14},
{name: 'e', parent_key: 2,value: 15},
{name: 'f', parent_key: 1,value: 16}
使用sql语句SELECT COUNT(name) FROM test WHERE parent_key in (1,2,3,4,5) GROUP BY parent_key;
用这种方式的话,会自动忽略 parent_key 为4和5的值。
现在我想统计所有parent_key的count,如果没有就返回 0,即
{parent_key: 1, count: 2},
{parent_key: 2, count: 1},
{parent_key: 3, count: 3},
{parent_key: 4, count: 0},
{parent_key: 5, count: 0},
除了在查出结果以后,再用组装结果以外,能直接用sql语句来实现吗?
不知道你说的是这种实现方法不,你数据表中没有
parent_key
为 4,5的记录,自然也不会去统计了。