gpt4 book ai didi

php - 计算和分组 mysql 表中的相似字符串?

转载 作者:行者123 更新时间:2023-11-29 06:38:27 24 4
gpt4 key购买 nike

我有一个数据库表,users,里面有很多名字和性别,我需要找到最常见的名字吗?

|      name      |   sex  |
----------------------------
| Foo Bar | male |
| Foo Boq | male |
| Plo Boa | male |
| Loo Baa | female |
| Boo Faa | female |
| Boo Sar | female |

我能想到的最好的是(例如男性)

SELECT  name, COUNT(*) totalCount
FROM users WHERE sex='male'
GROUP BY name
ORDER BY totalCount DESC
LIMIT 1

我希望的结果是

Foo

之后我意识到这并没有考虑姓氏。此表中的数据太多,我无法尝试分离数据(除非有相对简单的方法可以做到这一点?)

是否可以使用 REGEX 或 '$name%' 的某些排列(使用 PHP 运行查询!)

谢谢! :-)

最佳答案

您可以在 GROUP BY 中使用 SUBSTRING_INDEX(name,' ',1),因为名字和姓氏在名称列中由空格分隔,也由 op 确认在评论中

SELECT  name, COUNT(*) totalCount
FROM table1
WHERE sex='male'
GROUP BY SUBSTRING_INDEX(name,' ',1)
ORDER BY totalCount DESC
LIMIT 1

Fiddle Demo

关于php - 计算和分组 mysql 表中的相似字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23013735/

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