1、以下这个语句,需要group by  case语句的内容,怎样加group by条件?感谢!
select CASE
         WHEN name = 5 THEN
          '姓名'
         when name = 161 THEN
          '性别'
         ELSE
          NULL
       END TYPE
  from table12、以下语句只取一定的when条件,其他列 不列出,语句是怎样写? 
select CASE
         WHEN name = 5 THEN
          '姓名'
         when name = 161 THEN
          '性别'
         ELSE
          NULL
       END TYPE
  from table1

解决方案 »

  1.   

    不大懂你的意思,你的select语句应该是end case不是end type
      

  2.   

    select CASE 
            WHEN name = 5 THEN 
              '姓名' 
            when name = 161 THEN 
              '性别' 
            ELSE 
              NULL 
          END TYPE 
      from table1 
    order by TYPE
      

  3.   

    select CASE 
            WHEN name = 5 THEN 
              '姓名' 
            when name = 161 THEN 
              '性别' 
          END TYPE 
      from table1 
    where name = 5 or name = 161 
      

  4.   

    select  --你要的内容
    from
       (
    select CASE 
            WHEN name = 5 THEN 
              '姓名' 
            when name = 161 THEN 
              '性别' 
          END TYPE 
      from table1 
    where name = 5 or name = 161 
        ) k
    group by k.type
    不知道这样能不能满足你的要求,这种的效率没有考虑过
      

  5.   


    select CASE 
            WHEN name = 5 THEN 
              '姓名' 
            when name = 161 THEN 
              '性别' 
          END TYPE 
      from table1 
    where name = 5 or name = 161 
    group by CASE WHEN name = 5 THEN '姓名' when name = 161 THEN '性别'  END