客户编号  总货款
----- ---------------------------------------
KH001 110002.00
KH002 10100.00
KH004 100500.00如上面所示 我想拿第一行 KH001 110002.00 中的 110002.00 跟第2行的 10100.00 做比较 依次类推 判断总货款列中最大的值 请问大大们该如何实现 max 方法不能用 

解决方案 »

  1.   

    SELECT * FROM TB T WHERE NOT EXISTS(SELECT 1 FROM TB WHERE 总货款>T.总货款)
      

  2.   

    select * from tb t where not exists(select 1 from tb where 总货款>t.总货款)
      

  3.   

    DECLARE @TB TABLE (客户编号 VARCHAR(20),  总货款 DECIMAL(18,2))
    INSERT @TB
    SELECT 'KH001' ,110002.00 UNION
    SELECT 'KH002' ,10100.00 UNION
    SELECT 'KH004' ,100500.00SELECT * FROM @TB T WHERE NOT EXISTS(SELECT 1 FROM @TB WHERE 总货款>T.总货款)(所影响的行数为 3 行)客户编号                 总货款                  
    -------------------- -------------------- 
    KH001                110002.00(所影响的行数为 1 行)
      

  4.   

    谢谢楼上朋友们的答复 看代码有点晕了 我的原题是
    题目 查找销售金额最大的客户名称和总货款
    select top 1 c.CustomerName as 客户名称,sum(o.Amount) as 总货款 from Orders o,OrderDetails od,Customers c
    where o.OrderID=od.OrderID
    and o.CustomerID=c.CustomerID
    group by o.CustomerID,c.CustomerName我的方法可以找到总货款中最大的一个 但是如果同时存在多个就解决不了 max 不知该如何使用
      

  5.   

    SELECT * FROM TB T WHERE NOT EXISTS(SELECT 1 FROM TB WHERE 客户编号=T.客户编号 AND 总货款>T.总货款)
      

  6.   

    SELECT * FROM TB WHERE 总货款 IN (SELECT MAX(总货款) FROM TB)???
      

  7.   


    DECLARE @TB TABLE (客户编号 VARCHAR(20),  总货款 DECIMAL(18,2))
    INSERT @TB
    SELECT 'KH001' ,110002.00 UNION
    SELECT 'KH002' ,10100.00 UNION
    SELECT 'KH004' ,110002.00select top 1 with ties * from @TB order by 总货款 desc