最近的项目遇到了一个问题,想要获取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"
)
)