mysql - 通过列中的不同值限制返回值

标签 mysql sql

我有一个 20k 行的表; 在第一列中,我只有 32 个不同的值(每个月都可以更改); 如何限制此返回以获取 32 个值中每个值的前 10 行,就像我的 SELECT 中的“子限制”一样?

PS:以防我的查询中有 320 行

最佳答案

使用 Row_Number 可以得到你想要的结果:

SELECT * FROM (
SELECT FirstCol, SecondCol, ROW_NUMBER() OVER (PARTITION BY FirstCol ORDER BY SecondCol) As RowNum FROM YourTable
) t
WHERE RowNum <= 10;

关于mysql - 通过列中的不同值限制返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985556/

相关文章:

MySql 查找 parent 有多少个 child

php - 使用 PHP 从 MySQL 表中获取 1 个值

mysql - 如何在不知道类别有多深的情况下获取与类别相关的所有子类别。

mysql - !=? 上没有索引

c# - 使用 SqlDataReader 确定行的数据大小

c# - C# 求两个时间的时间差

sql - 如何计算值不同的列?

javascript - 从mySQL获取ID并使用php在ajax中设置localstorage

php - 将数组插入查询,然后将结果循环到新查询中

php - 使用纬度和经度获取最近的位置