MYSQL按类型排序,每种类型5行,共20行
我有这样一个查询,选择名称,从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 4MYSQL按类型排序,每种类型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
我试了很多东西,但都做不到。有人能帮我吗?在订购人之后尝试按类型分组:
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种