mysql 获取某商品的前十条评论,不使用 group by 有什么好的方案吗?

wmwmajie:mysql 获取某商品的前十条评论,不使用 group by 有什么好的方案吗?
发现 gourp by 需要先分组在过滤出前 10 个,所有要处理的数据反而会很多。
有什么方式不用 group by 简洁高效吗?求指教

xmumiffy:指定商品的评论,那不是 order 加 limit 就可以么,具体表结构是什么?

daozhihun:只要查某商品的前十条评论,为啥要 group by,你 where id=xxx 不就把其他商品的都过滤掉了

gz911122:window 开窗函数

wysnylc:十有八九你是要同时查询多个商品的前 10 条评论
开窗函数可以解决
或者异步多次查询但是小心 N+1

wmwmajie:@xmumiffy 不好意思写错了,是多个商品的前 10 个。

wmwmajie:是多个商品的前 10 个,写错了。

wmwmajie:这个不用 group by 的解决方式想到有两个,比如拼接一个有多个子查询的大 sql 。
或者就直接多次查询,单个 limit,虽然查询次数和解析 sql 语句次数变多,但是要处理的数据反而比 gourp by 少。

就是不知道有没有更简洁的 sql 能搞定,前提是不用 gourp by

daozhihun:@wmwmajie group over partition,就是上面提到的开窗函数。
其实多次查询也是可行的,解析 sql 不需要担心,你这些查询都很相似,不会全部重新进行分析的

mysql 这种情况怎么查?

qaqLjj: 如图,怎么查询同时掌握了第一张表所有技能的员工呢? 也就是说,希望的结果如下: emp 神崎 相田

mysql 查询

shimingzhoudf:A 表有 1,2,3,4 个字段 我现在查询结果需要是这样 表名 中文名 1 2 3 4 数据 x x x x x ... ... .. .. .. .. 其实中文名就是 4 字段的值 我看别人这样写过: select 4 中文名, * where 表名; 但我自己用老报语法错误shimingzhoudf:语法是这样 select…

一个 mysql 库容纳多少个表会比较明显的影响速度?

l890908:理论上来说基本上没有限制(42 亿多),但是同时访问的表越多,文件描述符就越多,从操作系统角度来说还是有影响的;那么在实操过程中多少个表会比较明显的影响速度?qiayue:可以不用考虑极限了,按照业务分库分表即可。举例我们的统计 SDK,每个接入的 app 都给一个单独的库,这样不同 app 互不影响。

SQL:GROUP BY记录,然后从每个组获取最后一条记录? - php

This question already has answers here: Closed 7 years ago. Possible Duplicate: SQL Server: Only last entry in GROUP BY我有一张这样的桌子:id| name | attendence 1 | Naveed| 1 2 | Naveed| 1 3…

Mysql 数据库锁的一个问题

huntcool001:默认隔离级别 可重复读, autocommit=1, 建表:CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `age` tinyint(3) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_age` (`ag…