gpt4 book ai didi

mysql - 如何根据字段的计数选择值?

转载 作者:行者123 更新时间:2023-11-29 19:44:10 25 4
gpt4 key购买 nike

如何通过同一个表中字段的计数来选择MySQL表中的值?

示例:

Table users has id, name, password, country 

我想仅选择用户数最多的前 3 个国家/地区的所有 ID,如下所示:

country, id 

当我尝试这个时
WHERE 国家/地区 IN(从用户组中选择国家/地区 BY 国家/地区 ORDER BY COUNT(id) DESC LIMIT 3)

我得到此版本的 MySQL 尚不支持“LIMIT & IN/ALL/ANY/SOME 子查询”

服务器版本:5.6.33-79.0 Percona 服务器

最佳答案

与获取前 3 个国家/地区的子查询连接。

SELECT u.country, u.id
FROM users AS u
JOIN (SELECT country
FROM users
GROUP BY country
ORDER BY COUNT(*) DESC
LIMIT 3) AS u1
ON u.country = u1.country

实际上,WHERE column IN (SELECT ...) 的任何使用都可以更改为这样的 JOIN,并且在许多情况下性能会更好。

关于mysql - 如何根据字段的计数选择值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153558/

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