MYSQL按类型排序,每种类型5行,共20行

MYSQL按类型排序,每种类型5行,共20行,mysql,count,limit,max,Mysql,Count,Limit,Max,我有这样一个查询,选择名称,从tabel中键入,其中的名称如下:key ORDER BY Type LIMIT 0,25 我想做的是从每个类型中获取5行,并将总响应限制为25行 我的表结构如下所示: 名称|类型 A | 1 B | 2 C | 4 D | 2 E | 2 F | 4 G | 1 H | 2 I | 2 J | 2 所以在我想要得到的答案中 A 1 G 1 B 2 D 2 E2 h2 I 2 C4 F 4 我试了很多东西,但都做不到。有人能帮我吗?在订购人之后尝试按类型分组: SE

我有这样一个查询,选择名称,从tabel中键入,其中的名称如下:key ORDER BY Type LIMIT 0,25 我想做的是从每个类型中获取5行,并将总响应限制为25行 我的表结构如下所示: 名称|类型 A | 1 B | 2 C | 4 D | 2 E | 2 F | 4 G | 1 H | 2 I | 2 J | 2 所以在我想要得到的答案中 A 1 G 1 B 2 D 2 E2 h2 I 2 C4 F 4


我试了很多东西,但都做不到。有人能帮我吗?

在订购人之后尝试按类型分组:

SELECT
  ...
FROM
  ...
WHERE
  ...
ORDER BY
 type
GROUP BY
  type;

我一直在尝试在网上找到一个查询,与PDO合作解决我的问题,并尝试了很多场景,直到成功:

        $query = "set @num := 0, @Type := ''";
        $query2 = "SELECT Name, Type, (SELECT(@num := if(@Type = Type, @num + 1, 1))) as row_number, ".
        "(@Type := Type) as dummy FROM table WHERE Name LIKE ? ".
        "GROUP BY Type, Name, SearchBy HAVING row_number < 6"; 
    $stmt = $this->pdo->prepare($query);
    $stmt = $this->pdo->prepare($query2);
            $stmt->execute(array($name));
            $count = $stmt->rowCount();
            $rows = $stmt->fetchAll();

这会给我5种我想要的每种类型

谢谢你的回答,但它只会选择每种类型中的一种,我需要每种类型中的5种