Php 获取MySQL表中每个类别的行数
让我说一下,我有两个表类别和问题。 在问题表中,我在同一类别下有几个或多个问题,表中有不同类别的问题 我需要问题表下每个类别的行数Php 获取MySQL表中每个类别的行数,php,mysql,sql,optimization,Php,Mysql,Sql,Optimization,让我说一下,我有两个表类别和问题。 在问题表中,我在同一类别下有几个或多个问题,表中有不同类别的问题 我需要问题表下每个类别的行数 类别: +----+--------+--+ |身份证|姓名|| +----+--------+--+ |1 |类型1 || |2 |类型2 || |3 |类型3 || +----+--------+--+ 问题 +----+------+-------+ |id | name | catid| +----+------+-------+ |1 | a | 1|
类别:
+----+--------+--+
|身份证|姓名||
+----+--------+--+
|1 |类型1 ||
|2 |类型2 ||
|3 |类型3 ||
+----+--------+--+
问题
+----+------+-------+
|id | name | catid|
+----+------+-------+
|1 | a | 1|
|2 | b | 1|
|3 | c | 1|
|4 | d | 2|
|5 | e | 2|
|6 | f | 3|
+----+------+-------+
category\u count=[3,2,1]
我做了什么来获得计数呢
if($model){
$i = 0; $j = 0;
$category_count = 0;
$count [] = null;
foreach($model as $question) {
$category_count++;
if(isset($output))
if($question->catid != $output[$i-1]['cat'] ){
$count[$j] = $category_count;
$j++;
$category_count = 0;
}
$output[$i++] = ['id' => $question->id, 'cat' => $question->catid, 'title' => $question->title];
}
$count[$j]=$category_count;
$final = ['count'=>$count, 'questions'=>$output];
}
我的问题是
if($model){
$i = 0; $j = 0;
$category_count = 0;
$count [] = null;
foreach($model as $question) {
$category_count++;
if(isset($output))
if($question->catid != $output[$i-1]['cat'] ){
$count[$j] = $category_count;
$j++;
$category_count = 0;
}
$output[$i++] = ['id' => $question->id, 'cat' => $question->catid, 'title' => $question->title];
}
$count[$j]=$category_count;
$final = ['count'=>$count, 'questions'=>$output];
}
T!A.根据表的DDL,查询应如下所示:
SELECT c.name, COUNT(*)
FROM category c
JOIN questions q
ON q.catid = c.id
GROUP BY c.name
请把桌子包括进来好吗?您可以使用
foreach
中的.missing括号和if
检查并更新.marijnz0r KTAnj。。非常感谢你的回答。我在选择答案时有点困惑,因为两者都很相似。谢谢你的回答