一.获取产品最近评论、平均评分值
--评论表
--------------------------------------- Id [Content] Score 1 '评论1' 4 2 '评论2' 2 3 '评论3' 5 4 '评论4' 2
--产品表 --------------------------------------- Id ProductName 1 '产品名称1' 2 '产品名称2' 3 '产品名称3' 4 '产品名称4'
--产品评论关联表 --------------------------------------- Id ProductId CommentId 1 1 1 2 2 1 3 3 1 4 1 2
不明白的请提出来
那就用ProductId来分组。
SELECT
p.ProductName, AVG(c.Score) AS [avg]
FROM Product_Comment pc LEFT JOIN Comment c ON pc.CommnetId = c.Id LEFT JOIN Product p ON pc.ProductId = p.Id GROUP BY p.ProductId ,p.ProductName
觉得这样的性能够你用了
按照GroupID分组不就好了么
你的ProductId与CommentId是个啥对应关系啊?你是要干嘛?是要别人帮你写个求平均分的语句还是干嘛?
获取产品最近评论、平均评分值
把这个需求求教要怎么写啊!!
@最佳损友: 你是要用文字描述这个需求吗?
@bitbug: - - 对表达无力吖~~ 当然是写语句最好拉!!
刚好有时间,写了个,你看看
SELECT p.ProductName, AVG(c.Score) AS [avg] FROM Product_Comment pc LEFT JOIN Comment c ON pc.CommnetId = c.Id LEFT JOIN Product p ON pc.ProductId = p.Id GROUP BY p.ProductName
用产品名来进行分组,会产生很大的性能问题吧!!
@最佳损友: 高性能的sql 不会写啊,等高手来吧