mysql - 获取最高值的子查询

标签 mysql sql

输入

+-------+---------+----------+
| Name  | Country | State    |
+-------+---------+----------+
| jon   | US      | Chicago  |
+-------+---------+----------+
| kathy | US      | CA       |
+-------+---------+----------+
| linda | US      | LA       |
+-------+---------+----------+
| harry | UK      | wales    |
+-------+---------+----------+
| steve | UK      | scotland |
+-------+---------+----------+
| ram   | India   | ap       |
+-------+---------+----------+
| jai   | India   | ka       |
+-------+---------+----------+
| raju  | India   | ap       |
+-------+---------+----------+
| ravi  | India   | mp       |
+-------+---------+----------+

我无法使用以下查询传递计数最高的国家(印度),因为它返回 2(国家和计数)值。请指正。

select name from table a 
where a.country in 
(SELECT country, COUNT(*) as c FROM table b 
GROUP BY country 
ORDER BY c DESC LIMIT 1);

输出:

应显示在同一张表中计数最高的州(在计数最高的国家-印度下)的详细信息。

+---------+-------+----+
| ram     | india | ap |
+---------+-------+----+
| raju    | india | ap |
+---------+-------+----+

最佳答案

试试这个

select * from table e
where e.state in
(select d.state from table a 
where a.country in 
(SELECT country  FROM table b 
 GROUP BY country 
 ORDER BY count(*) DESC LIMIT 1);
 GROUP BY state 
 ORDER BY count(*) DESC LIMIT 1);

关于mysql - 获取最高值的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31381028/

相关文章:

mysql - RDB 中的常规索引和复合索引是如何实现的?

php - Laravel 5.2 按距用户邮政编码的距离搜索用户

SQL "select where not in subquery"没有返回结果

sql - SQLite GROUP BY基于联合的结果不使用组成表的索引

mysql - 事件流的新闻提要帮助

php - 交换 3 行的行值

mysql - 如何在某个字段中选择与另一行具有相同值的行(而不选择另一行)

mysql - 两张表的复杂 MySQL 查询

Javascript 变量存入 SQL 数据库?

MySQL 具有不同 order by 和 limit 的多重连接