mysql 取 10条数据类型,Mysql - 获取每个分类下面前几条数据

经常遇到一个表,有多个类别,每个类别,下面有多个小类别,每个小类别下面又有多条记录的情况,要求取出每个大类别下面的三条记录。

数据库;

CREATE TABLE `NewTable` (

`id` int(11) NOT NULL AUTO_INCREMENT ,

`acar_id` int(11) NOT NULL ,

`ascore_id` int(11) NOT NULL COMMENT '车型评分ID' ,

`score` int(11) NOT NULL COMMENT '评分' ,

`type` int(11) NOT NULL COMMENT '类型(101视觉设计,102触觉质感,103静谧性,211驾驶员头部空间)' ,

`content` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评价' ,

`photo` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图片' ,

PRIMARY KEY (`id`)

)

ENGINE=InnoDB

DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci

COMMENT='车型评分详情'

AUTO_INCREMENT=1051

ROW_FORMAT=COMPACT

数据:

0818b9ca8b590ca3270a3433284dd417.png

需求

对于一个acar_id下面,只显示3小项(视觉设计、触觉质感、静谧性,若该三项未被评价,则顺序后推显示)及3小所属的大项名称及大项分数,点击“全部内容”“文字描述”“图”时,新开标签页查看全部内容

答案:

SELECT b.`acar_id`,b.`id` ,b.`id` % 3,CONCAT(b.`acar_id`, b.`id` % 3) FROM

`appraise_score_detail` b

WHERE

b.acar_id IN (29,30)

GROUP BY

CONCAT(b.`acar_id`, b.`id` % 3)

ORDER BY

b.id

0818b9ca8b590ca3270a3433284dd417.png

解释一下:

GROUP BY

CONCAT(b.`acar_id`, b.`id` % 3)

如果上面的sql去除 group by是这样的,

SELECT b.`acar_id`,b.`id` ,b.`id` % 3,CONCAT(b.`acar_id`, b.`id` % 3) FROM

`appraise_score_detail` b

WHERE

b.acar_id IN (29,30)

ORDER BY

b.id

效果:

0818b9ca8b590ca3270a3433284dd417.png

将acar_id下面的数据通过CONCAT(b.`acar_id`, b.`id` % 3)分为三种情况,然后在使用groupby

下面的链接是同样的问题,不过是别的解决方案:

可以参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL是一个关系型数据库管理系统,它使用表来存储和组织数据每个表由一系列行和列组成,每行表示一个记录,每列表示记录的属性。 在MySQL中,数据结构主要包括以下几个方面: 1. 数据库(Database):MySQL中的数据数据库的形式进行组织和管理。一个数据库可以包含多个表。 2. 表(Table):表是MySQL中最基本的数据组织单位。每个表由若干行和列组成,行表示记录,列表示记录的属性。 3. 列(Column):表中的每个字段被称为列。列定义了字段的名称和数据类型,例如整数、字符、日期等。 4. 行(Row):表中的每记录被称为行。每行包含了一完整的数据记录,其中每个字段对应一列。 5. 主键(Primary Key):主键是一列或一组列,用于唯一标识表中的每记录。主键保证了表中的记录唯一性,并且可以用于建立表之间的关系。 6. 外键(Foreign Key):外键是一列或一组列,用于建立表与表之间的关系。外键引用了其他表的主键,从而实现了表之间的关联。 7. 索引(Index):索引是对表中一列或多列的值进行排序的数据结构。索引可以提高查询的速度,加快数据的检索。 8. 视图(View):视图是一个虚拟表,它是基于一个或多个表的查询结果。视图可以简化复杂的查询操作,并提供了数据的安全性和灵活性。 以上是MySQL中常用的数据结构,它们相互配合使用,可以有效地组织和管理数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值