使用GROUP BY的10个唯一值

时间:2013-07-24 18:52:08

标签: mysql

您好我想从我的表中获取一列中的前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

但它从每个唯一值中仅向我退了一行。

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分: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