Public Sub main() Dim o As New DataTable o.Columns.Add("Sight", GetType(String)) o.Columns.Add("Account", GetType(String)) o.Columns.Add("Amount", GetType(Double)) o.Columns.Add("Amount1", GetType(Double)) o.Rows.Add("S1", "A1",1,2) o.Rows.Add("S2", "A1",2,4) o.Rows.Add("S1", "A1",3,6) o.Rows.Add("S2", "A1",4,8) o.Rows.Add("S1", "A1",5,10) o.Rows.Add("S2", "A1",6,12) Dim q q = From record In o _ Group By sight = record("Sight") & record("Account") Into totAmount = Sum(record.Field(Of Double)("Amount")) _ , totAmount1 = Sum(record.Field(Of Double)("Amount1")) Order By totAmount1 Select sight, totAmount, totAmount1 For Each o1 In q Debug.Print(o1.ToString) Next end subAny chance that I get Sight and Account separately in my output in this configuration?