从每种类型中选择X个项目 [英] Select X items from every type

查看:119
本文介绍了从每种类型中选择X个项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个mysql数据库,其中有1个表. 该表包含"id",名称",类型".

I have a mysql database, in there I have 1 table. That table contains "id","Name","Type".

我想从每种类型中获取10行.例如:

I want to get 10 rows from every type. For example:

(在此示例中,我只想要1个)

( In this example I only want 1)

0 - test1 - a
1 - test2 - a
2 - test3 - b

为此,需要选择:

0 - test1 - a
2 - test3 - b

如何在1个SQL查询中执行此操作?还是不可能?

How can I do this in 1 SQL query? Or is that impossable?

推荐答案

尝试此查询-

SELECT id, name, type
  FROM (
  SELECT t1.*, COUNT(*) cnt FROM table t1
    LEFT JOIN table t2
      ON t2.type = t1.type AND t2.id <= t1.id
    GROUP BY
      t1.type, t1.id
  ) t
WHERE cnt <= 10;

这篇关于从每种类型中选择X个项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆