当前位置: 首页 > 面试题库 >

SELECT ID具有ID的最大数量

窦哲彦
2023-03-14
问题内容

有一个带item_idcolor_id的产品表。我正在尝试使用大多数非null实例获取color_id。

这将失败:

SELECT color_id 
  FROM products 
 WHERE item_id=1234 
 GROUP BY item_id 
HAVING MAX(COUNT(color_id))

Invalid use of group function

SELECT color_id, COUNT(color_id)
  FROM products 
 WHERE item_id=1234 
 GROUP BY item_id

退货

color_id count
1, 323
2, 122
3, 554

我正在寻找具有最多实例的color_id 3。

有没有2个查询就可以轻松获得我想要的东西的方法吗?


问题答案:

SELECT color_id AS id, COUNT(color_id) AS count
FROM products
WHERE item_id = 1234 AND color_id IS NOT NULL
GROUP BY color_id
ORDER BY count DESC
LIMIT 1;


这将为您提供color_id以及该color_id上的计数,该计数按从最大到最小的顺序排列。我想这就是你想要的。

供您编辑…

SELECT color_id, COUNT(*) FROM products WHERE color_id = 3;


 类似资料:
  • 本文向大家介绍如何在MongoDB中获取具有最大ID的元素?,包括了如何在MongoDB中获取具有最大ID的元素?的使用技巧和注意事项,需要的朋友参考一下 要获得具有最大id的元素,可以使用方法。为了理解上述概念,让我们用文档创建一个集合。查询如下- 在method的帮助下显示集合中的所有文档。查询如下- 以下是输出- 这是获取具有最大id的元素的查询- 以下是具有最大id的记录的输出-

  • 我试图从mongo集合中检索一个元素,即具有greatest _id字段的元素。我知道这可以通过查询: 但它似乎有点不优雅,我想知道是否有一种方法可以使用findOne()获取特定元素 注意:我想这样做是因为,根据我在ObjectId中读到的内容,第一个字节对应于从Epoch开始的毫秒,因此,插入的最后一个元素将具有最大的_id。有没有其他方法可以检索插入到集合中的最后一个元素?

  • 问题内容: 在研究G1 GC时,我发现了这篇文章:http : //www.oracle.com/technetwork/articles/java/g1gc-1984535.html。在该文章中,内容如下: G1 GC是一个区域化的,按代划分的垃圾收集器,这意味着Java对象堆(堆)被划分为多个大小相等的区域。启动时,Java虚拟机(JVM)设置区域大小。区域大小可以从1 MB到32 MB不等,

  • 我在一次采访中被问到这个问题。给定一个整数数组(具有正值和负值),我们需要找到具有相等总和的不相交子数组的最大数量。 例子: 输入:[1,2,3]输出:2{因为我们最多有2个子数组,总和=3,即[1,2],[3]} 输入: [2 2 2 -2] 输出 : 2 {两个子数组,每个子数组的总和 = 2,即 [2],[2, 2, -2]} 我的方法 我想到的第一种方法是找到前缀和数组,然后以每个元素(前

  • 对于算法的最终审查,出现了这样一个问题: 由于连通组件本质上是图中的一个图,这意味着子图中的所有顶点必须从较大的图中移除,同时保持内部连通性。我能理解这种直觉,但很难把它转化成一个公式。 到目前为止,我得出的结论如下: 对于连通分量n,每个图Gn具有相应的顶点集{Vn},使得顶点集的内容在内部连接,而在外部保持不连接。 现在,每个{Vn}最多包含V*(V-1)条边。 如何用公式表示最大边数?

  • 问题内容: 执行此代码时出现问题: 基本上,我想返回每个控件号的最新日期。上面的查询返回正确的输出,但需要37秒。在显示输出之前。 是否有任何其他sql子句或命令可以比上述查询执行得更快? 提前致谢。 问题答案: 将子查询放在WHERE子句中并将其限制为n.control_number意味着它将多次运行子查询。这称为 相关子查询 ,通常是性能的杀手。 最好在FROM子句中运行一次子查询,以获得每个