为每个外键选择特定顺序的前5条记录

时间:2009-11-29 14:53:22

标签: sql mysql

我有一个包含三列的表

fk_id,
sort_column,
value_column

对于每个fk__id_我想通过sort_column检索前5个记录的顺序

我已经尝试了好几个小时了,我对如何做到这一点没有任何想法

我正在使用MySQL

我很感激任何帮助

马克

编辑: 我应该澄清我正在寻找的输出格式: 我想要两列,fk id和value_column 对于每个值,fk id将重复5次

我之所以这样做是因为我以后需要对这个结果集进行一些计算,比如计算每个fk_id的平均值和总和

3 个答案:

答案 0 :(得分:1)

使用this code,然后添加AND row_number < 5

答案 1 :(得分:0)

我不认为这可以做到。 您可能必须使用脚本语言为每个fk_id单独执行此操作

我可能是错的

答案 2 :(得分:0)

这将做你想要的。

SELECT t1.fk_id, t1.value_column
FROM table AS t1
LEFT JOIN table AS t2
    ON t1.fk_id=t2.fk_id AND t1.sort_column < t2.sort_column
WHERE t2.fk_id IS NULL
ORDER BY t1.sort_column DESC
LIMIT 5