serv_id      sprom_id
1000011695   70100034
1000011695   70302078
1000011695   70810355
1000011695   99100142
1000220119   70100007
1000220119   99110005
1000220800   70100034
1000220800   70302078
......象这样的记录至少有几万条,有没有办法只取其中SERV_ID相同的记录,比如只取某个同一SERV_ID的记录。 但不是用select * from table where serv_id='1000011695' 这样的语句来找。

解决方案 »

  1.   

    某个同一SERV_ID的记录? 不是where serv_id = xxxxx?
    是什么?
      

  2.   

    SELECT ser.serv_id,ser.sprom_id
    FROM SERVICE ser
    WHERE ser.serv_id IN
    (   SELECT serv_id FROM SERVICE 
           HAVING COUNT(SERV_ID)>1
    );
      
      

  3.   

    SORRY忘记一句话 改一下SELECT   ser.serv_id,ser.sprom_id 
    FROM   SERVICE   ser 
    WHERE   ser.serv_id   IN 
    (       SELECT   serv_id   FROM   SERVICE   
            GROUP BY serv_id
             HAVING   COUNT(SERV_ID)> 1
    );
      

  4.   

    有那么麻煩嗎?
    SELECT   DISTINCT serv_id,sprom_id 
    FROM   SERVICE   
    應該就可以抓到你想要的數據了吧?
      

  5.   

    请楼主描述清楚你需要的结果集, 比如如下的输入, 你希望得到怎么样的输出结果集?
    serv_id             sprom_id 
    1000011695       70100034 
    1000011695       70302078 
    1000011695       70810355 
    1000011695       99100142 
    1000220119       70100007 
    1000220119       99110005 
    1000220800       70100034 
    1000220800       70302078 
    ......