表结构如下----------------------------------------------------------------------------------
[ID] [商品编码] [买入金额] [卖出金额] [买卖差] [买卖柜台] [交易日期]需求如下:1.某个时间段内  [买卖柜台]的交易是重复的,找出不重复的[买卖柜台];
2.[商品编码]是相同的;
3.根据条件1,找出每个[买卖柜台]的 商品编码,sum(买入金额),sum(卖出金额),sum(买卖差);
4.按照[买入金额],[卖出金额],[买卖差]排序;
5.形成一条sql语句 输出记录集。

解决方案 »

  1.   

    group by ....having count()....
      

  2.   

    select 买卖柜台,sum(买入金额),sum(卖出金额),sum(买卖差) from 表 group by 买卖柜台 order by [买入金额],[卖出金额],[买卖差]
      

  3.   

    我先测试下楼上的语句------------------------
    会wxkayc :商品编码 是一个单独的字段
      

  4.   

    select 买卖柜台,sum(买入金额),sum(卖出金额),sum(买卖差) from 表 group by 买卖柜台 order by sum(买入金额),sum(卖出金额),sum(买卖差)上面写错了,应该是这样,楼主快给分
      

  5.   

    select 买卖柜台,sum(买入金额),sum(卖出金额),sum(买卖差) 
    from 表 group by 买卖柜台 having count(*)=1 order by sum(买入金额),sum(卖出金额),sum(买卖差)
      

  6.   

    不重复就是说这个买卖柜台,只有一笔交易吗?既然只有一笔交易,还sum个屁啊
      

  7.   

    有多个 买卖柜台 在表中是多次交易的, 同样一个柜台 当然在记录中有重复 
    select distinct 买卖柜台都没出现 能正常吗? 还有查询条件 where  交易日期>='2008-5-1' and  交易日期<'2008-81'  and  商品编码='郑州交易所玉米' 没加进去
      

  8.   


    select  买卖柜台,sum(买入金额),sum(卖出金额),sum(买卖差) from 表 where 交易日期>'开始时间' and 交易日期<'结束时间'  and 商品编码='111' group by 买卖柜台 order by sum(买入金额),sum(卖出金额),sum(买卖差) 
      

  9.   

    select distinct 买卖柜台 买卖柜台 也是一个查询条件啊  兄弟
      

  10.   

    面对楼主我真服了,我都给你写到这种程度了,你还嫌不对呢。已经有group by了,还要用distinct?
      

  11.   

    select top 100000 (select distinct SeatCode from Stock_Trade where ExtDate>='2008-08-1' and ExtDate<='2008-08-21' and StockCode='600506' ) ,Sum(BuyPrice),Sum(SalePrice),Sum(CleanPrice),ExtDate from Stock_Trade where ExtDate>='2008-08-1' and ExtDate<='2008-08-21' and StockCode='600506'group by SeatCode order by sum(CleanPrice)
      

  12.   

    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'Stock_Trade.ExtDate' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  13.   

    select SeatCode ,Sum(BuyPrice),Sum(SalePrice),Sum(CleanPrice)
    from Stock_Trade 
    where ExtDate>='2008-08-1' and ExtDate <='2008-08-21' and StockCode='600506'
    group by SeatCode order by Sum(CleanPrice)
      

  14.   

    ExtDate 不能加在select里,否则就不能group了
      

  15.   

    够火星点。
    是不是面试啊。
    --声明变量
    DECLARE @t table (id int identity ,pid varchar(50),inin float,outout float,diff float,counter varchar(50),dte datetime)
    --准备数据
    DECLARE @i int
    Set @i=1
    WHILE @i<20
    begin
    INSERT INTO @t select 'p'+CAST(@i as varchar(50)),@i,@i,0,'Robot.H'+CAST(@i as varchar(50)),DATEADD(day,@i,getdate())
    if @i % 2=0
    INSERT INTO @t select 'p'+CAST(@i as varchar(50)),@i,@i,0,'Robot.H'+CAST(@i as varchar(50)),DATEADD(day,@i,getdate())
    SET @i=@i+1
    end
    --所有数据
    SELECT * FROM @t--三天内的数据
    DECLARE @PARAM int
    SET @PARAM=3
    SELECT * FROM @t A
    WHERE DATEDIFF(day,dte,GETDATE())<@PARAM
    AND
    2>(SELECT COUNT(1) FROM @t B where A.counter=B.counter )
    ORDER BY inin desc,outout desc,diff desc