有没有人知道为什么此查询无法按降序VisitStart
顺序排序结果,尽管查询中有两个OrderBy
子句?
术语“ΗμΏραΕπίσκεψης”是希腊人的“VisitStart”!!
放置了两个OrderBy
子句,因为我迫切需要按此VisitStart
列按降序排序结果!
此外,是否可以用0
(零)或""
(空字符串)替换最后一列单元格中的“null”结果?
(From p In Patients
Join v In Visits On v.Patient Equals p
Join t In VisitTypes On v.VisitType Equals t
Group Join m In Payments On m.Visit Equals v Into PaymentsGroup = Group, g = sum(Ctype(m.Ποσό, Integer?))
Order By v.VisitStart Descending
From pmnt In PaymentsGroup.DefaultIfEmpty()
Where
v.VisitStart.Year = 2017
Select New With {
.VId = v.Id,
.PId = v.PatientId,
.Όνομα = p.Όνομα,
.ΗμΏραΕπίσκεψης = v.VisitStart,
.PtFirstVisitEver = p.Added,
.Κόστος = v.Κόστος,
.Πληρωμές = g
}).OrderByDescending(Function(x) x.ΗμΏραΕπίσκεψης).Distinct
请在此处找到相应的结果图片
答案 0 :(得分:1)
Distinct
方法可能会改变列表的顺序。因此,如果订单很重要,那么为了安全起见,你应该做到最后。换句话说:
x.Distinct().OrderByDescending(Function(x) x.ΗμΏραΕπίσκεψης)
而不是:
x.OrderByDescending(Function(x) x.ΗμΏραΕπίσκεψης).Distinct()