Sql server SQL";其中;除名
所以,我想获得产品评级,并应用它来获得顶级产品Sql server SQL";其中;除名,sql-server,database,where-clause,Sql Server,Database,Where Clause,所以,我想获得产品评级,并应用它来获得顶级产品 CREATE PROCEDURE [dbo].[TopProducts] AS BEGIN SELECT Prod_Name, Qty, ProductImage, Price, Store_Name FROM Product P, Store S WHERE .... 在我的产品表中,您可以找到: ( Prod_ID int not null IDENTITY(1,1), Store_ID int not nu
CREATE PROCEDURE [dbo].[TopProducts]
AS
BEGIN
SELECT Prod_Name, Qty, ProductImage, Price, Store_Name
FROM Product P, Store S
WHERE ....
在我的产品表中,您可以找到:
(
Prod_ID int not null IDENTITY(1,1),
Store_ID int not null,
Price int not null ,
Prod_Name varchar(50) not null,
Qty int not null,
ProductDescription varchar(50),
RatingSum int not null,
RatingCount int not null,
ProductImage varchar(50),
Prod_Date date,
PRIMARY KEY (Prod_ID),
FOREIGN KEY (Store_ID) REFERENCES Store(Store_ID)
);
所以,我想在“WHERE”条件下,这个:(RatingSum/RatingCount)>=4。。。比如说
我怎么做
编辑:
避免混淆!
评分总和,是一个整数,其中来自评论者的全部评分将被添加到彼此上,评分计数是每次用户评论特定产品(此产品ID)时增加的值,在此之后,评分就是这个除以那个得到的值
是否有更好的方法从多个评审员处获得特定产品的平均评分?首先,您可以执行以下操作:
WHERE (RatingSum/RatingCount) >= 4
在您的查询中。为了避免被零除,我建议将其改为:
WHERE RatingSum >= 4 * RatingCount >= 4
或:
此外,在
from
子句中不应使用逗号。始终使用显式的join
语法。首先,您可以执行以下操作:
WHERE (RatingSum/RatingCount) >= 4
在您的查询中。为了避免被零除,我建议将其改为:
WHERE RatingSum >= 4 * RatingCount >= 4
或:
此外,在
from
子句中不应使用逗号。始终使用显式的join
语法。您所说的“RatingSum/RatingCount”是什么意思?你想检查两个列的值吗?我想要评级,所以我收集整个评级总和,比如(3,3,4,5),然后除以这里的计数(4)。要获得平均值,显然:D@user3054349 . . . 我不明白RatingSum
和RatingCount
一样是一列,所以您的问题是关于简单除法的。如果您还有其他想法,您应该编辑您的问题,并包括样本数据和期望的结果。Rating sum(评分总和)是一个整数,其中来自评论者的全部评分将被添加到其他人的评分中,而Rating count(评分计数)是指每次用户查看特定产品(此产品ID)时,评分计数都会增加,评级是你从这个除以那个得到的!这是一个简单的,其中条件。你有没有试过你在问题中的帖子?你说的“RatingSum/RatingCount”是什么意思?你想检查两个列的值吗?我想要评级,所以我收集整个评级总和,比如(3,3,4,5),然后除以这里的计数(4)。要获得平均值,显然:D@user3054349 . . . 我不明白RatingSum
和RatingCount
一样是一列,所以您的问题是关于简单除法的。如果您还有其他想法,您应该编辑您的问题,并包括样本数据和期望的结果。Rating sum(评分总和)是一个整数,其中来自评论者的全部评分将被添加到其他人的评分中,而Rating count(评分计数)是指每次用户查看特定产品(此产品ID)时,评分计数都会增加,评级是你从这个除以那个得到的!这是一个简单的,其中条件。你有没有试过你在你的问题里贴的东西?如果我用“拥有”会更好吗?还有什么更好的方法来获得评级,我使用的这个方法是or AVG(评级),其中(评级)是实体中名为(产品)的另一个属性?HAVING
应该只用于聚合值-例如,如果你有一个SUM(…)
或AVG(…)
您需要对该聚合应用一个条件。使用“Having”是否更好?还有什么更好的方法来获得评级,我使用的这个方法是or AVG(评级),其中(评级)是实体中称为(产品)的另一个属性?HAVING
应该只用于聚合值-例如,如果你有一个总和(…)
或AVG(…)
,你需要对该聚合应用一个条件。