本文主要是介绍针对性的mysql 查询统计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需求如下:
human_m 表角色信息表:Human_m.id human_m.name ... task_m 表角色任务表: 关联human_m表ID task_m.id , task_m.compleateTask human_m 和task_m表是一对多的关系,即:一个角色对应多调任务表 数据
其中B表compleateTask 字段 格式如下:
23546,65489,87954,45658,69875,25588
要求:
查询每个角色名称,以及每个角色完成任务的个数,
hh.`name`,
SUM(LENGTH(REPLACE(tt.`completeTask`,',',',,')) - LENGTH(tt.completeTask)) num //这里是亮点 思路:将原来的一个逗号替换为两个,那么减去原来的就是现在逗号个数。
FROM
human_m hh
LEFT JOIN task_m tt
ON tt.`humanId` = hh.`id`
AND tt.`taskType` = 2
WHERE hh.`level` > 50
AND hh.`robot` = 0
GROUP BY hh.`id`
ORDER BY hh.`id` ASC
这篇关于针对性的mysql 查询统计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!