SQL一个表TEST其中有字段为ID,ABC,KeyWord(关键字),其中KeyWord内容为:关键字1,关键字2,关键字3...
现在要列出10条关键字互不相同的数据,求查询语句。

解决方案 »

  1.   

    select * from TEST a where exists(select distinct top 10 KeyWord from TEST where a.id=id )
      

  2.   

    select top 10 * from (select distinct KeyWord from test)A order by newid()
      

  3.   

    上面的有点错
    --try 
    select * from TEST a,(select distinct top 10 KeyWord,id from TEST) b where a.id=b.id
      

  4.   

    首先谢谢楼上的兄弟,但是按照你们的方法如果字段是KeyWord,id就会列出所有的数据,因为ID不同,但是如果是KeyWord又会只列出KeyWord字段数据,郁闷。
      

  5.   

    distinct 只能取出一个字段,怎样才能取出多字段呢?
      

  6.   

    select top 10 * from  test group by ID,ABC,KeyWord
      

  7.   

    select top 10 max(id),max(abc),keywrod from  test group by KeyWord
      

  8.   

    To ljprogram() ,
    你的查找方法可能会弄出表中原来不存在的记录的LZ的表中有主键吗?假设id是主键, 那么可以这么写吧
    SELECT top 10 a.* FROM test a
    WHERE
    a.id IN (SELECT min(id) FROM test b GROUP BY b.keyword)如果没有主键的话,可以考虑将其它字段的内容用某个特别的连接符号 "拼" 出一个字段来.