0

こんにちは、テーブルから、1 つの列とそれらが表示されるすべての行から最初の 10 個の一意の値を取得したいと考えています。

たとえば、私はこのテーブルを持っています(列2はnullではありません):

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 から 1 行、a2 から 1 行... a10 から 1 行が返されます。

最初の 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 に答える