0

您好,我想从我的表中获取一列中的前 10 个唯一值以及它们出现的所有行。

例如我有这个表(第2列不是空的):

column 1    column 2
a1        
a1 
a2
a3
a4
a4
a4
a5
a6
a7
a8
a9
a10

我想获取第 10中具有前 10 个唯一值的所有行。

我试着用

SELECT * FROM some_table GROUP BY some_column ORDER BY main_id DESC LIMIT 0 , 10

但它只从每个唯一值返回给我 1 行。

在我的示例中,它将从 a1 返回给我一行,从 a2 返回一排...从 a10 返回一排。

如何获取具有前 10 个唯一值的所有行。

谢谢你的帮助。

4

1 回答 1

0

加入子查询

select t1.*
from table t1
inner join (select distinct main_id
            from table
            order by main_id desc
            limit 10) t2
on t1.col10 = t2.main_id
于 2013-07-24T18:59:25.220 回答