none
和distinct 有关的排序 RRS feed

  • 问题

  •   表ContractTable中有ContractMan(合同负责人)和ContractID(合同编号)两列,也就是每份合同都有一个合同负责人来签署,每个合同负责人都签署过多份合同。

        问题:我想把ContractMan按照ContractID的顺序排出来(也就是合同负责人如果签署了最新的合同,那他的名字就会排到最前面),但只显示每个不同的合同负责人只显示一次,要怎么排呢?

        也就是下面的代码得到的结果,再按ContractID再排列一次

    select distinct contractman from contractTable 
    的结果再按ContractId再排序


    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2014年5月30日 8:43

答案

  • select contractman from contractTable

    group by contractman

    order by max(ContractId) desc


    想不想时已是想,不如不想都不想。

    2014年5月31日 18:28
    版主

全部回复

  • 应该大致是这个意思吧

    select * from (

    select distinct contractman from contractTable

    ) data

    order by (

    select top 1 ContractID from contractTable  ii

    where ii.contractman  = data.contractman

    order by 日期 desc

    )

    2014年5月30日 10:48
  • select contractman from contractTable

    group by contractman

    order by max(ContractId) desc


    想不想时已是想,不如不想都不想。

    2014年5月31日 18:28
    版主