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

SQL-仅针对每种类型给我3个匹配

景翰音
2023-03-14
问题内容

我有某种不可能的要求:)。

我有一个表,其中的一列被命名type。我想为该列中的每种类型选择3条记录。那可能吗?

还要注意,我正在使用MySQL和Sphinx。

更新:表结构

id       title        type
1        AAAA         string1
2        CCCC         string2
3        EEEE         string2
4        DDDD         string2
5        FFFF         string2
6        BBBB         string2
6        BBBB         string2

我希望我的MySQL返回的是(按标题排序的每种类型最多3条记录):

id       title        type
1        AAAA         string1
6        BBBB         string2
2        CCCC         string2
4        DDDD         string2

问题答案:
select id, title, type
from   (select id, title, type,
               @num := if(@group = type, @num + 1, 1) as row_number,
               @group := type as dummy
        from   your_table
        order by type, title) as x
where  row_number <= 3

(与Martin Wickman的答案在同一网站上使用另一篇文章!)



 类似资料:
  • 如何创建任何类型的类对象(字符串、char、int、浮动、双。短、长、字节、...),以便我可以使用接受类对象的所有类型的链接列表

  • 问题内容: 我有一张这样的桌子: 我需要按升序排列每个字母的前2个: 我该怎么办?使用GROUP BY获得前1名非常简单,但是我似乎无法让它适用于多个条目 问题答案: 编辑:(我的第一次尝试将无法在MySql(Quassnoi注释)上工作,例如,我将其修改为可在sql服务器上工作) 第二次尝试:

  • 我有一个从提取的代码,对于多个子类来说,这个代码看起来应该完全相同,所以我尽量避免重复。但是,实际上(见下文),scala认为是一个泛型的,返回的值类型为,当然,它没有和方法。 问题是在这里避免重复的适当方法是什么?我对将转换为字符串并不那么着迷,因为这段代码可以使用刚从字符串解析为AST的json。我开始考虑为我需要的三种类型编写包装器,并将这些类型的匹配和隐式转换器转换为包装器,然后为这些包装

  • 对于 SELinux 来说,所选择的策略类型直接决定了使用哪种策略规则来执行主体(进程)可以访问的目标(文件或目录资源)。不仅如此,策略类型还决定需要哪些特定的安全上下文属性。通过策略类型,读者可以更精确地了解 SELinux 所实现的访问控制。 SELinux 提供 3 种不同的策略可供选择,分别是 Targeted、 MLS 以及 MiNimum。每个策略分别实现了可满足不同需求的访问控制,因

  • 假设我有一个名为的Kafka主题,它有几个消息类型(每个消息类型都有不同的Avro模式),如、等等。我想了解一下用Spring Cloud Stream发布/接收相同主题的不同类型是否可行(而且有意义)。特别是,拥有几个将非常有用,每个专用于特定类型。根据这篇博文,当需要订购消息时,这是非常有用的,因为它们与同一个实体相关。这种情况下的配置示例是什么?

  • 问题内容: 我在这里看到了答案,这些答案解释了如何告诉编译器循环中数组是某种类型的。 但是,Swift是否提供一种方法,使循环仅循环遍历数组中指定类型的项,而不崩溃或根本不执行循环? 问题答案: 您可以将for循环与case-pattern一起使用: 这将仅对数组中类型(或可以强制转换为)的那些项执行循环体。