I have a SQL Server table named DeficiencyTag and its PK is an integer named DeficiencyTagID. It will have a couple hundred records. There's another table named Deficiency that references a particular DeficiencyTagID. There will be millions of these eventually.
What I need to do is make a list of the top 10 DeficiencyTag records based on the number of times each DeficiencyTagID is referenced from the Deficiency table.
The only way I can think of is having to manually loop through each DeficiencyTag record and count all Deficiency records that reference it. That sounds really slow and messy.
Is there a better way? I'm using LINQ-To-SQL for my DB interaction.