gpt4 book ai didi

MySQL:查找表中最常出现的值

转载 作者:行者123 更新时间:2023-11-29 02:22:41 26 4
gpt4 key购买 nike

我有两个表:

购买:

item
001
003
002
001
002
004
003
001
002

项目:

id    |   name
001 | Item 1
002 | Item 2
003 | Item 3
004 | Item 4

我需要在购买表中找到最常出现的(多个)项目,并输出项目的名称。我应该在查询中包含什么?

UPDATE(使用 MAX 和子查询)

我可以通过以下方式获得最高计数:

SELECT MAX(cnt) FROM 
(SELECT COUNT(*) AS "cnt"
FROM purchases LEFT JOIN item ON item.id = purchases.item
GROUP BY purchases.item) t;

现在我只需要一种方法来获取具有该计数的项目的名称。

最佳答案

试试这个:

SELECT t.cnt, t.name FROM 
(SELECT COUNT(*) AS "cnt", item.name
FROM purchases
LEFT JOIN item ON item.id = purchases.item
GROUP BY item.name) t
WHERE t.cnt = (SELECT MAX(t2.cnt) FROM
(SELECT COUNT(*) AS "cnt"
FROM purchases
LEFT JOIN item ON item.id = purchases.item
GROUP BY item.name) t2
)

我确信这一定是更好的方法,但这应该可行。

关于MySQL:查找表中最常出现的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28856205/

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