ich dieses Ergebnis haben:Get Max() Zeilen pro Revisionsnummer in LinQ
Company_ID | State | City | Rev |
Company 1 | S-A | C-1 | 1 |
Company 2 | S-B | C-2 | 1 |
Company 1 | S-A | C-3 | 2 |
der Ergebnismenge, die ich wollte
Company_ID | State | City | Rev |
Company 1 | S-A | C-3 | 2 |
Company 2 | S-B | C-2 | 1 |
ist Hier ist die Abfrage, die ich versucht:
var list = (from coy in TBL_COMPANY
where coy.IsActive == "1"
select coy).ToList()
.Select(coy => new
{
coy.Company_ID,
coy.State,
coy.City,
coy.Rev
});
var companyList = list.GroupBy (grp => new
{
grp.Company_ID,
grp.State,
grp.City
})
.Select(cpy => new
{
CompanyID = cpy.Key.Company_ID,
State = cpy.Key.State,
City = cpy.Key.City,
Rev = cpy.Max(c => c.Rev)
}).ToList();
Ich bin jedoch nicht in der Lage, das gewünschte Ergebnis zu erhalten. Mein Verdacht ist wegen der City
weil es enthalten ist. Allerdings brauche ich diese Spalten (außer für die Rev
). Gibt es eine Möglichkeit, dies zu tun?
„Ich bin aber nicht in der Lage die Ergebnismengen zu tun, ich wollte.“ Inwiefern? Was bekommst du? –
(Es ist nicht klar, warum Sie gruppieren nach Firmen-ID, Staat und Stadt überhaupt, um ehrlich zu sein. Ist die Firmen-ID der effektive Schlüssel hier, zusammen mit der Revision?) –
Firmen-ID ist der Schlüssel, der hier verwendet wird. Es gibt eine Rowid in dieser Tabelle, aber pro Zeile hat einen anderen Wert. – Musikero31