0
我有这个SQL,但我需要将其转换为Linq查询。难以尝试使用分区/ rownum和patition/count在一起。需要将此SQL转换为LINQ
Select TOP 1 vals.c3, (vals.Rank * vals.[Occurances]) as RNK
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY c1 asc) as Rank, Count(*) Over(Partition By c3) As [Occurances], c3
FROM dbo.ranks
WHERE c2 in ('ADAMS', 'CHIP', 'SHOP')
group by c3,c2,c1
) vals
--group by vals.c3
ORDER BY RNK desc
这将是什么队伍名单,如:
c1 c2 c3
26774 CHIP Chipshop
26054 SHOP Shops
10054 SHOP Chipshop
23037 MEDICAL Doctors
21434 CENTRE Doctors
12803 DENTAL Dentists
11847 OFFICE Post Offices
C2是字,C3是我要找的类别。 c1是每个类别出现该词的频率。所以当我进入搜索'亚当斯芯片商店'时,它会去找到基于该名称的最可能的类别匹配。
任何帮助,将不胜感激:)