在外面再套一层啊
select distinct DEP,SEX from
(
SELECT DISTICT NAME,DEP,SEX FROM TABLE1 WHERE…………)

解决方案 »

  1.   

    问题是我要在查询结果中显示所有列,只是结果中的NAME列值都是互不相同的
      

  2.   

    只能实现对不分组列按某个规则取,如min,max
    SELECT DISTICT NAME,min(DEP),min(SEX) FROM TABLE1 WHERE………… group by name
      

  3.   

    boydgmx(授人以鱼不如授人以渔(baidu&google)) 
    能不能解释的详细一点呢?没见过这个函数
      

  4.   

    distict只对结果集有用,并不是对数据库信息进行修改。
      

  5.   

    如:
    姓名    性别   部门
    LYZ      F     DEP1
    LYZ      M     DEP1
    LYZ      M     DEP2
    要求结果中包含这三列,但是只显示第一行,即对姓名重复的记录只显示第一条
      

  6.   

    只能实现对不分组列按某个规则取,如min,max
    SELECT DISTICT NAME,min(DEP),min(SEX) FROM TABLE1 WHERE………… group by name
    会报错,估计是因为部门,性别等非数值型数据无法min(),max()等聚组函数,前面提到的分析函数,first_value(),不知哪位能给我详细解释一下呢,举个用法的例子
      

  7.   

    select * from (
    select t.*,rank() over(partition by 姓名 order by 性别,部门) rn from t
    )
    where rn=1
    t是你的结果集
      

  8.   

    SELECT DISTICT NAME,min(DEP),min(SEX) FROM TABLE1 WHERE………… group by name不好意思DISTINCT 写成DISTICT了,汉字也可以取大小的