C# 如何在asp.net c中仅获取指定列中具有最大值的值

C# 如何在asp.net c中仅获取指定列中具有最大值的值,c#,sql-server-2008,C#,Sql Server 2008,我有一张表,上面有客户id、日期、分期付款编号和金额列。我想了解到今天为止每个客户id的最后一期信息。此处分期付款编号为int类型,当新分期付款被存入时,分期付款编号在新分录中增加1。我的桌子看起来像: CS1001 | 12-06-2013 | 1 | 2500 CS1002 | 19-06-2013 | 1 | 1600 CS1001 | 14-07-2013 | 2 | 2500 我想获取一个sqlcommand语句,以便执行此操作。按客户id对所有记录进行分组,然后按分期付款编号对所有

我有一张表,上面有客户id、日期、分期付款编号和金额列。我想了解到今天为止每个客户id的最后一期信息。此处分期付款编号为int类型,当新分期付款被存入时,分期付款编号在新分录中增加1。我的桌子看起来像:

CS1001 | 12-06-2013 | 1 | 2500
CS1002 | 19-06-2013 | 1 | 1600
CS1001 | 14-07-2013 | 2 | 2500

我想获取一个sqlcommand语句,以便执行此操作。

按客户id对所有记录进行分组,然后按分期付款编号对所有客户记录进行排序,并从每个组中仅选择具有最大分期付款编号的记录:

from c in customers
group c by c.customer_id into g
select g.OrderByDescending(x => x.installment_no).First()
如果不使用Linq,纯SQL也是如此

SELECT c.* FROM Customers c
INNER JOIN (
   SELECT customer_id, MAX(installment_no) max_installment
   FROM Customers
   GROUP BY customer_id
) cmax
ON c.customer_id = cmax.customer_id
   AND c.installment_no = cmax.max_installment

请始终提供您迄今为止尝试过的内容对不起,先生,请及时回复。我是新手,使用另一种方式来编写sqlcommand语句。为了满足您的sql语句,我应该在我的sqlcommand语句中做什么更正,或者通过哪种方式使用您的语句,我使用这种方式。SqlCommand cmd=new-SqlCommandselect-customer\u-id、日期、最大分期付款号、来自客户的金额、连接SQL;
var result = list.GroupBy(x=>x.customer_id)
                 .Select(g=>g.OrderByDescending(y=>y.installment_no).First())
                 .ToList();