CaseTitle(图片主题)   CaseImagePath(图片路径)  CaseValue(图片value值) 三个字段.
 CaseValue解释:可以从1-n,动态添加;CaseTitle      CaseImagePath      CaseValue
 车牌灯          xxxxxxxxxxx.jpg       1
 软条灯          xxxxxcccccc.jpg       1      
 水晶灯          xxxxxcccccc.jpg       2
 天花灯          xxxxxcccccc.gif       2
 楼体亮化灯      ggdffdsfdfd.jpg       1  通过一条SQL语句,我想得到如下:
  
车牌灯          xxxxxxxxxxx.jpg       1
水晶灯          xxxxxcccccc.jpg       2
简单的说就是当CaseValue相同时,我只取第一条数据,而且每种类型的只取一条数据;在线等,解决后。立马结贴!!
 

解决方案 »

  1.   

    select top 1 * from 表 where CaseValue in ( select distinct CaseValue as CaseValue1 from 表 order by CaseValue1)
      

  2.   

    Distinct                    
                 
      

  3.   

     select * from(
     select *,r=row_number() over(partition by CaseValue order by getdate()) from tablename ) t where t.r=1 
      

  4.   

    试过了。二楼的方法不行,数据分不开。select distinct CaseTitle,CaseValue,CaseImagePath from ProjectCase。
    使用一楼的方法报消息 1033,级别 15,状态 1,第 1 行
    除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
      

  5.   

    分组,http://wenku.baidu.com/view/a9aeaec75fbfc77da269b144.html
      

  6.   

    select  CaseValue,CaseTitle,CaseImagePath from ProjectCase b where caseID =(select min(a.CaseID) from ProjectCase a where a.CaseValue=b.CaseValue)
    我自己写的能用,各位,不好意思哈
      

  7.   

    List<LogMessage> list = new List<LogMessage>();
                list.Add(new LogMessage() { Text = "111", Datetime = DateTime.Now, Type = MessageType.Unknown });
                list.Add(new LogMessage() { Text = "222", Datetime = DateTime.Now, Type = MessageType.Unknown });
                list.Add(new LogMessage() { Text = "333", Datetime = DateTime.Now, Type = MessageType.Warning });
                list.Add(new LogMessage() { Text = "444", Datetime = DateTime.Now, Type = MessageType.Unknown });
                list.Add(new LogMessage() { Text = "555", Datetime = DateTime.Now, Type = MessageType.Warning });
                list.Add(new LogMessage() { Text = "666", Datetime = DateTime.Now, Type = MessageType.Warning });            foreach (MessageType item in list.Select(p => p.Type).Distinct())
                {
                    LogMessage aa = list.Where(a => a.Type == item).FirstOrDefault();
                }