score:3

Accepted answer

after reading this (also with more information on this topic):

http://msdn.microsoft.com/en-us/vbasic/bb738024.aspx

i come up with:

dim items = from item in db.items _
  group item by catid = item.catid into group select catid, _
  yeargroups = from y in group _
    group y by yearkey = y.pubdate.value.year into yeargroup = group _
    select year = yearkey, _
    monthgroups = from m in yeargroup _
      group m by monthkey = m.pubdate.value.month into monthgroup = group _
      select month = monthkey, monthitems = monthgroup

More Query from same tag