Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL";其中;除名_Sql Server_Database_Where Clause - Fatal编程技术网

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(…)
,你需要对该聚合应用一个条件。