Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用GROUP BY的10个唯一值_Mysql - Fatal编程技术网

Mysql 使用GROUP BY的10个唯一值

Mysql 使用GROUP BY的10个唯一值,mysql,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 但对我来说,每个唯一值只有一行

您好,我想从我的表中获取一列中的前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个唯一值的所有行

感谢您的帮助。

加入子查询

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

. . 这并不能保证有效。您需要按col1顺序按minmain\u id desc limit 10从表组中选择col1。您的版本首先执行distinct,使用main_id的任意值。他的问题有点让人搞不清哪列是哪列。我怀疑排序和不同的列实际上是相同的,我相应地改变了问题。谢谢Barmaer。我不知道内部连接命令。我会读到它,看看如何管理它。如果您不知道内部联接,那么您就不会真正了解SQL。这是你应该学的第二件事。