2012-10-08 40 views
0

这是要听起来有点匪夷所思......但让我尝试解释正从匹配的结果集

id  phone 
1  123 
2  234 
3  456 
4  4564 
5  9876 
.............. 
1000  123 
2000  234 
3000  456 
5000  123 

我需要一个这样的方式编写一个查询表中的所有记录中当我拉头5条记录的表的查询也将对于在第一条记录中出现的电话号码相同的表中搜索

因此最终结果集将

id  phone 
1  123 
2  234 
3  456 
4  4564 
5  9876 
1000 123 
2000 234 
3000 456 
5000 123 

我知道我可以分开相同的查询,先拉动前5个,然后遍历每个电话号码,以便在记录匹配电话号码时提取记录。但希望做一个单独的语句...如果可能的...

感谢

回答

0

喜欢的东西

SELECT ... 
FROM yourtable 
WHERE phone IN (
    SELECT DISTINCT phone 
    FROM yourtable 
    ORDER BY ... 
    LIMIT 5 
) 

+0

它说的限制不能在子查询 –

0
Select t1.id,t2.phone from yourtable as t1 
left join yourtable as t2 on t2.phone = t1.phone 
+0

支持为什么犯规这项工作....选择t1.ad_id,从RAWDATA t2.phone为T1 左加入RAWDATA为T2上t2.phone = t1.phone ORDER BY t2.phone ASC限制20 ...我刚刚添加了一个订单,它似乎卡住了 –

+0

需要知道为什么一个订单通过上述声明不起作用... –

+0

是否显示任何错误信息? –

相关问题