首页 >数据库 >mysql教程 >如何在 SQL 中高效地查找每个国家/地区最常消费的食品?

如何在 SQL 中高效地查找每个国家/地区最常消费的食品?

Barbara Streisand
Barbara Streisand原创
2024-12-30 02:39:08313浏览

How Can I Efficiently Find the Most Frequently Consumed Food Item per Country in SQL?

在 SQL 中查找最常见值的高效查询

考虑具有以下结构的表:

  • 国家:国家的文本表示
  • food_id:每个国家的唯一标识符食物类型
  • 食用:食用食物的日期

当前的任务是确定每个国家/地区最常食用的食物。常见的方法涉及创建多个临时表来计算计数和最大值,如问题所示。然而,这种方法可能很麻烦,并且当多种食物的数量相同时,可能需要打破平局。

简化的解决方案

PostgreSQL 9.4 引入了 mode() 函数,它提供了一种更直接的方法:

select mode() within group (order by food_id)
from munch
group by country

此查询有效地返回每个国家/地区最常见的食品消除了对复杂计算和临时表的需要。结果如下:

country | mode
--------------
GB      | 3
US      | 1

以上是如何在 SQL 中高效地查找每个国家/地区最常消费的食品?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn