如下数据如何处理?
姓名 日期     级别
——————————李四 20060101 高级
李四 19980203 中级
王二 20020712 中级
王二 20010911 中级
赵八 20060112 初级
现在只想提取每个人日期最新的数据如:李四 20060101 高级
王二 20020911 中级
赵八 20060112 初级这个句子怎么写?

解决方案 »

  1.   

    select max(日期) 
    from tablename
    group by 姓名
      

  2.   

    Select A.*,
     [日期] = (select Top 1 日期  from table1 B where A.姓名=B.姓名 order by 日期 desc)
     from(
     select distinct  姓名  from table1 
    ) A  
      

  3.   

    你的字段要是日期型的,那楼上的楼上就是对的!
    如果是字符型的,你就把Max改成Min应该就可以了!
      

  4.   

    SELECT b.*
    FROM TEMP1 b INNER JOIN
    (SELECT 姓名,MAX(日期) 日期  FROM TEMP1 GROUP BY 姓名) a
    ON b.姓名=a.姓名 AND b.日期=a.日期以你现在的数据结构,只有使用两条SELECT语句。如果要用一条SELECT实现,以你现在数据结构可能很麻烦,可以将级别改为数字级别,则很容易实现。。
    SELECT 姓名,MAX(日期) 日期,MAX(级别) 级别  FROM TEMP1 GROUP BY 姓名
      

  5.   

    create table #T(姓名 varchar(32),日期 int,级别 varchar(10))
    insert #T
    select 
    '李四', '20060101', '高级'
    union all select
    '李四', '19980203', '中级'
    union all select
    '王二', '20020712', '中级'
    union all select
    '王二', '20010911', '中级'
    union all select
    '赵八', '20060112', '初级'
    select * from #T a where 日期 = (select max(日期) from #T where 姓名=a.姓名)
    drop table #T
    -----
    姓名                               日期          级别         
    -------------------------------- ----------- ---------- 
    赵八                               20060112    初级
    王二                               20020712    中级
    李四                               20060101    高级
      

  6.   

    看看如下问题对你是否有用?
    因數據處理量較大,請各位高手幫忙寫一個最佳效能查詢語句,謝謝!
    問題描述:
    table1:
    number(編號)
    date(日期)
    plant(廠別)table2:
    number(編號)
    date(日期)
    price1
    price2其中number、date為table1及table2關聯的字段,現要根據table1中指定的plant(如plant='pp')來抓取table2中date最新(即離現在日期最近)的price1、price2。
    如何通過關聯來查詢,效率越高越好.....TKS!trySelect 
    A.number,
    A.[date],
    D.price1,
    D.price2
    From table1 A
    Left Join (
    Select B.* From table2 B Inner Join
    (Select number,Max([date]) As [date] From table2 Group By number) C
    On B.number=C.number And B.[date]=C.[date]) D
    On A.number=D.number And A.[date]=D.[date]
    Where A.plant='pp'