在mysql中限制要加入的行数
所以我想将两个表连接在一起,但是对于第一个表中的每一行,我只想将它连接到另一个表中匹配的前8行,按该表中的一列排序。我可以使用任何聪明的语法,或者我需要在子查询中弄乱吗?这可能不是最好的解决方案,但如果您是在ID上加入的,您可以在where子句中使用子查询在mysql中限制要加入的行数,mysql,join,limit,Mysql,Join,Limit,所以我想将两个表连接在一起,但是对于第一个表中的每一行,我只想将它连接到另一个表中匹配的前8行,按该表中的一列排序。我可以使用任何聪明的语法,或者我需要在子查询中弄乱吗?这可能不是最好的解决方案,但如果您是在ID上加入的,您可以在where子句中使用子查询 select from table1 where id in (select top 8 id from table2 order by column1 desc) 看看 节从每组中选择前N行 这是一个稍难解决的问题 解决。从每一行中查找
select from table1 where id in (select top 8 id from table2 order by column1 desc)
看看
节从每组中选择前N行
这是一个稍难解决的问题
解决。从每一行中查找一行
使用SQL的聚合可以轻松创建组
函数(MIN()、MAX()等)。
从每一项中找出前几项
使用该方法无法创建组
因为聚合只起作用
返回单个值。尽管如此,它是
可能做到的
TOP子句仅为SQL Server。