Dim names = Request.QueryString("nameid")
Select nameid,id from shangpinhe where nameid like  '%" + names + "%' group by nameid having count(*) >= 1 order by id desc我想查询出nameid中相同列值的数据 然后按照倒序排列 这么写报以下错误试图执行的查询中不包含作为合计函数一部分的特定表达式 'id' 
Select nameid,id from shangpinhe where nameid like  '%" + names + "%'group by nameid,id having count(*) >= 1 order by id desc
如果改成group by nameid,id  就不是我想要的值了 请问怎么解决?

解决方案 »

  1.   

    select nameid,from table group by nameid having count(*)>1
      

  2.   

    select id ,nameid from shangpinhe 
    where nameid like '%" + names + "%'group  by  nameid,id having count(id) >= 1 order by id desc
      

  3.   

    你的逻辑本身就有问题,group by 是相同列值只取一个,那么id到底取哪个? 你需要的是min(id),还是max(id)?
      

  4.   


    Select id,nameid from shangpinhe where exists (select 1 from shangpinhe a where a.nameid=shangpinhe .nameid and a.nameid like '%" + names + "%'
     and a.id!=shangpinhe.id) order by nameid,id
      

  5.   


    Select nameid,id from shangpinhe where nameid like '%" + names + "%' order by nameid,id desc
      

  6.   

    前面出现的字段,group By里都要出现