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

SQL选择最常见的记录

崔高远
2023-03-14
问题内容

我有下表:

Table
+----+------+-------+
| ID | Name | Group |
+----+------+-------+
| 0  |   a  |   1   | 
| 1  |   a  |   1   | 
| 2  |   a  |   2   |
| 3  |   a  |   1   |
| 4  |   b  |   1   |
| 5  |   b  |   2   |
| 6  |   b  |   1   |
| 7  |   c  |   2   |
| 8  |   c  |   2   |
| 9  |   c  |   1   |
+----+------+-------+

我想从一个特定的组中选择前20个不同的名称,该组按该组中最常见的名称排序。对于第1组,此示例的结果将返回a b c(a-3次出现,b-2次出现和c-1次出现)。

谢谢你。


问题答案:
SELECT TOP(20) [Name], Count(*) FROM Table
WHERE [Group] = 1
GROUP BY [Name]
ORDER BY Count(*) DESC


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 获取SQL中另一列的每个值的最通用值 (9个答案) 6年前关闭。 我对SQL刚起步(我正在使用MySQL),需要一些帮助。我目前正在尝试从称为PERSON的表中选择最常见的年龄。假设PERSON的AGE列的值为:10、10、20、20、30。查询应返回值10和20。 以下查询仅检索第一行(20): 我的另一个想法是尝试类似的方法: 这将返回一个错误,指出

  • 问题内容: 我想选择一堆在大多数情况下都是唯一的记录,但是有一些记录会发生两次。我希望只能选择具有最新日期的记录。到目前为止,这是我的查询: 就检索具有重复项的记录的最新记录而言,这是可行的,但是那些没有重复项的记录根本不会出现。 感谢您的帮助,如果我错过了一些显而易见的事情,我深表歉意。我是SQL游戏的新手。 问题答案: 有几种方法可以执行此操作,一种方法是像这样使用ROW_NUMBER: 这将

  • 问题内容: 我有一个具有一百万行的表,我该如何从一个字段中选择最常见的值(该值出现在表中最多)? 问题答案: 您需要按感兴趣的列进行分组,并为每个值选择值本身及其出现的行数。 然后就是排序(将最常见的值放在第一位)并将结果限制为仅一行的问题。 查询形式:

  • 本文向大家介绍常见的jQuery选择器汇总,包括了常见的jQuery选择器汇总的使用技巧和注意事项,需要的朋友参考一下 基本元素选择器 分层选择器 基本条件选择器 内容条件选择器 可见性条件选择器 属性选择器 子元素选择器 表单元素选择器 表单属性选择器

  • 问题内容: 我有一张桌子,如下所示: 请注意,MyDate格式为YYMMDD,而MyTime为24小时格式。 我想用最新的MyDate和MyTime返回唯一的MyKey的结果。预期的结果将是这样的: 任何帮助都感激不尽。谢谢。 问题答案: 首先,将日期和时间列合并为日期时间,以便轻松订购它们。自从我使用Sql Server以来已经有一段时间了,但是row_number()函数和分区是一种查找由另一

  • 问题内容: 我确实进行了搜索,发现该SQL在最近的日期之前选择了行,该 行 与我想要的日期非常接近,但我似乎无法使它起作用。 我收到一个错误,因为选择列表中的列“ ID”不包含在聚合函数或GROUP BY子句中,所以它无效。 我想要每个不同名称的最新日期 这是我想要的一个例子 理想的结果 我正在使用Microsoft SQL Server 2008 感谢您的帮助或指向正确的方向 问题答案: Sel