C#和VB.NET中的示例都可以。LINQ to SQL按年龄分组的人
我有一个表 “人” 与下列:
-FullName(nvarchar的不是null) -DOB(日期时间为空)
我想写一个LINQ to SQL来组人的年龄,像下面的结果:
年龄19:4 PPL
年龄20:5 PPL
年龄21:6个PPL
等等...
这里是我的尝试:
Dim query = From ppl In db.People _
Select New With {.Age = DateTime.Now.Year - CDate(ppl.DOB).Year, .CountAge = ppl.Count}
注意,有一些人在表中没有DOB记录,所以这些不得被包括在内。 DOB列有这样的记录1982-10-24 10:12:45 AM因为它是一个DateTime列。
“请注意,有一些人在表格中记录DOB ......”你缺少一个字句子? –
它应该是“有些人没有DOB记录”。是的,我没有输入“不”字。谢谢。 – Narazana
对于初学者来说有几个问题:'.Age = DateTime.Now.Year - CDate(ppl.DOB).Year'将会在很多时候得到错误的年龄(考虑一年中出生日期的位置)。你也没有聚合在那里。 –