2012-06-07 37 views
-1

你好我有关于嵌套select在mysql中的问题。我想工作的查询,可以达到什么样的下方哑查询拟实现的目标:如何从mysql的嵌套select中只返回一列

select t1.col1 from t1 
    where t1.col2 in 
    (select t3.col2, t3.col3 from t3 
    order by t3.col3 limit NUM) 

嗯,基本上来讲,t1.col2应该是在鸟巢选择t3.col2,但嵌套查询应订购另一列是t3.col3。

+0

你能不能更具体的,你说你只想把一个为了在结束了吗? –

+0

@MatthewRiches外部选择应该选择一个特定组的t1.col2。要得到那个特定的组,我必须使用嵌套选择。所以内部select提供了基于t3.col3的排序结果,同时t3.col2的top NUM应该返回到外部select。 –

+0

@somnath:'LIMIT',我相信 – Quassnoi

回答

0

不幸的是,MySQL不支持LIMITIN一起使用的查询。

试试这个:

SELECT col1 
FROM (
     SELECT DISTINCT col2 
     FROM (
       SELECT col2 
       FROM t3 
       ORDER BY 
         col3 
       LIMIT 5 
       ) q 
     ) q 
JOIN t1 
USING (col2) 
+0

@PeitiPeterLi:如果有'col2'的重复,比如'1,2,1,3,1',你想如何分类? – Quassnoi