您好我想从我的表中获取一列中的前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个唯一值的所有行。
感谢您的帮助。
答案 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