gpt4 book ai didi

mysql - 如何从 MySQL 中选择食物中吃得最多的部分?

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

我有一个名为 eaten 的表,其中包含食用食物的历史记录,如下所示:

id | food | amount
1 1 50
2 1 60
3 1 60
4 1 70
5 2 10
6 2 1
7 2 900
8 2 1
9 2 1
10 3 3

我需要为每种食物选择最常见的数量。这是预期的结果:

food | amount
1 60
2 1
3 3

这是我的 MySQL 查询,但只针对一种食物:

SELECT `food`, `amount`, COUNT(`amount`) as `count`
FROM `eaten`
WHERE `food` = 1
GROUP BY `amount`
ORDER BY `count` DESC
LIMIT 1

出于某种原因,当我删除 WHERE 部分时,返回的值不正确。我该如何解决这个问题?

这是重新创建数据库以对其进行测试的 SQL 文件:eaten.sql

最佳答案

尝试:

select rq.food, rq.amount 
from (select food, amount, count(*) amcount
from eaten
group by food, amount) rq
join (select food, max(amcount) maxcount from
(select food, amount, count(*) amcount
from eaten
group by food, amount) sq
group by food) mq
on rq.food = mq.food and rq.amcount = mq.maxcount

Sql Fiddle

关于mysql - 如何从 MySQL 中选择食物中吃得最多的部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508972/

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