ThinkPHP、mysql查询某一个字段中某几个字段值的数量

时间:2022-04-01 14:45:01

最近的项目遇到了一个问题,想要获取score_id字段里值为“42,43,44”各自的数量,查询了一番,自己做一下总结。

mysql查询语句:

SELECT `score_id`,`count(*)` FROM `score` WHERE `score_id` IN ('42','43','44') GROUP BY `score_id`;

thinkphp查询:

$map = array(
'score_id' => array('in', array('42', '43', '44'))
);
$res = $model('Score')->field('score_id, count(*)')->where($map)->group('score_id')->select();

结果返回如下数组:

array(
"0" => array(
"score_id" => "42",
"count(*)" => "2"
),
"1" => array(
"score_id" => "43",
"count(*)" => "5"
),
"2" => array(
"score_id" => "44",
"count(*)" => "9"
)
)