我有以下表(id,l_id,f_id,status)。我想写一个应该导致
的查询select count(*), f_id from table groupby f_id
即,我想得到每个特定l_id的f_id计数。如果我不得不在没有l_id的情况下找到f_id的计数,我本可以写一些东西
select count (*), f_id where l_id = <l_id> group by f_id
但是如何进一步增强基于l_id分割计数呢?
以编程方式我想首先执行一个查询,该查询从表中使用l_id获取,然后对于每个l_id,我可以运行查询
$entries = array(
1420934400 => array(
'entry' => 'I think I liked it.',
'data' => 'some'
),
1452470400 => array(
'entry' => 'Turkey is much better. Tastes more like chicken.',
'data' => 'no calls'
));
然后我将不得不做多个查询。我想知道我是否可以在一个查询中实现这一目标
答案 0 :(得分:2)
group by
语法支持多个列,因此非常简单:
select count(*), l_id, f_id
from table
group by l_id, f_id
答案 1 :(得分:0)
基于此要求:
我想得到每个特定l_id的f_id计数。
您需要隔离l_id,然后对f_id执行计数:
SELECT a.l_id, count(f_id)
FROM (SELECT l_id
FROM table
GROUP BY l_id) a
INNER JOIN table b ON (a.id = b.id)
GROUP BY a.l_id