gpt4 book ai didi

mysql - 将逗号分隔字段中的 mysql 计数值分组

转载 作者:行者123 更新时间:2023-11-29 08:26:20 27 4
gpt4 key购买 nike

我有一个用户表,其中包含以下列:user_id, mechanic_id

带有id的机制表

我想计算有多少用户拥有相同的机制。

用户表

+-------------------------+
| user_Id mechanic_id |
+-------------------------+
| 1 1,2 |
| 2 2,1 |
| 3 2,1,8,16 |
| 4 1,16,3 |
+-------------------------+

力学表

+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
...

$id1 的计数为:4

$id2 的计数为:3

$id3 的计数为:1

$id8 的计数为:1

$id16 的计数为:2

最佳答案

最佳解决方案:废弃此表设计并使用正确规范化的方法重建一次。然后一个简单的 join + group by + count 查询就可以工作。

最差的解决方案:使用 MySQL 的 find_in_set()功能:

SELECT mechanics.id, COUNT(user_ID)
FROM mechanics
LEFT JOIN users ON (FIND_IN_SET(mechanics.id, users.mechanic_id) > 0)
GROUP BY mechanics.id

关于mysql - 将逗号分隔字段中的 mysql 计数值分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com