我有像这样的mssql tabel>
ID Code Rating
1 10 4
2 10 5
3 10 4
4 11 2
5 11 3
我想要的SQL查询逻辑......
我想在使用代码10搜索记录时输出为4,因为代码10的大部分时间都会给出4等级....
和另一个逻辑,如果我搜索代码11然后输出将是3因为3将是最近的代码11的速率...
如何使用ASP.NET(VB)为im编写sql查询
答案 0 :(得分:5)
您要做的第一件事就是过滤:
SELECT * FROM mytable WHERE Code = 10
您对'评级'字段感兴趣:
SELECT Rating FROM mytable WHERE Code = 10
现在您要计算评分条目,可以使用GROUP BY
和COUNT()
函数的组合来实现:
SELECT COUNT(*), Rating FROM mytable WHERE Code = 10 GROUP BY Rating
现在剩下的就是按计数,降序排序,只选择第一行:
SELECT TOP 1 Rating FROM mytable WHERE Code = 10 GROUP BY Rating ORDER BY COUNT(*) DESC