我老是不知道要怎么提取不包含在group by中的其它字段!
比如:表(ROOM):id(编号,int,系统自动加1形成),
   Hotel(宾馆代号,对应另一个宾馆表)
   room(房间名称,varchar)数据:1    2   标准双床房
     2    1   标准大床房
     3    2   大套房
     4    3   家庭套间
     5    3   标准双床房
我想得到所有房间的清单,和这种房间出现的次数.
select  room,count(*)as counts from room group by roomname
但是我还想要得到表中的ID字段,因为它是唯一的.我需要有它来进行下一步的操作.
要怎样写才能得到呢?

解决方案 »

  1.   

    select  max(id),room,count(*) as counts from room group by room
      

  2.   

    我可能说的不太清楚!是要每一个房间类型对应一个ID号!
    比如:上面的数据.
         1    2   标准双床房
         2    1   标准大床房
         3    2   大套房
         4    3   家庭套间
         5    3   标准双床房
    要得到:
        ID号     房间名称   出现的次数
         1       标准双床房     2
         2       标准大床房     1
         3       大套房         1
         4       家庭套间       1
    我说的"只要可以取出ID号就行.无论先出现的,还是生出现的",是指
    比如"标准双床房"在表中出现了两次.对应的ID有两个(1和5),提出的ID是1还是5都可以!
      

  3.   

    哈哈!看错啦!可以了!谢谢zhenmeiyisi!