要求出 姓名   年龄      购买物品编号           数量         日期
       A        23       73264462283           3            20030301
       A        23       73278373799           2             20030305
这里面我要求出以下 这样的结果 
       A        23     73278373799                           20030305
                     (最后一次购买的编号)     5     (最后一次购买日期)怎么写实现啊?是不是要HAVEING 或TOP 1啊?

解决方案 »

  1.   

    select * from table1 where 日期 = (select max(日期) from table1)
      

  2.   

    那如何将数量变为5呢?能否将详细语句写完?GROUP BY 里写那几个?谢谢,一顶给分。
      

  3.   

    是这个叫A的人的购买总数量,而且不止一个A还有B,C,等好多人呢,都是这样的资料分别列出A,B,C等人的年龄,性别,最后一次购买的编号,总共购买的数量,最后一次购买的日期。好象有点复杂吧》?呵呵,拜托帮个忙啊
      

  4.   

    sql server:select top 1 姓名,年龄,购买物品编号,count(数量),日期 from 表名  order by 日期 desc
    oracle: select 姓名,年龄,购买物品编号,count(数量),日期 from 表名 where rownum=1 order by 日期 desc
      

  5.   

    如果上面的不行,你在试试把count(数量)改成select count(数量) form 表名上面的写错了"from"应为"form".呵呵,不好意思
      

  6.   

    上面兄弟我在SQL里面运行你的方法时只能出来一条,日期最大的。
    我要分开的 包括A,B,C这些人都显示出来啊,全部显示,而且你这个数量求出来的只是日期最大的数量吧,不是所有A等人的购买总数量吧
      

  7.   

    同意 wxj276(天寒地冻) 的写法
      

  8.   

    select t1.姓名,t1.年齡,t2.編號,t1.數量,t2.日期 from
    (
    select 姓名,年齡,sum(數量) as 數量 from aa
    group by 姓名,年齡
    ) t1 inner join 
    (
    select aa.姓名,aa.編號,aa.日期 from aa
    inner join
    (
    select 姓名,max(日期) as 日期 from aa
    group by 姓名
    ) t3 on aa.姓名 = t3.姓名 and aa.日期 = t3.日期
    ) t2 on t1.姓名 = t2.姓名
      

  9.   

    sql2000?俺用的就是sql2000啊,看看字段名有沒錯,俺用的是繁體系統,你不要把代碼直接考上去,照上面的自己寫一遍!
      

  10.   

    select Table1.xm, Table1.nl, Trq.rq1, table1.bh, Tsl.sl1 from table1, (select max(rq) as rq1 from Table1 group by xm ) as Trq
    (select sum(sl) as sl1 from Table1 group by xm) as Tsl
      

  11.   

    SELECT [Name], Age, last(goodsno) AS No, sum(number) AS Total, max(mdate) AS [Last Date]FROM tableA GROUP BY [name], age
      

  12.   

    但是  OF123兄弟  LAST在  2000里不认可啊你的方法编号出不来啊