jjzjj

mysql - 在 MySQL 中计算每天的平均销售额

在我的数据库中,我有一个包含两列的表。第一列包含日期,第二列是计数变量。我想知道是否可以根据日期和计数计算每个工作日的平均计数。在下面的一个小例子中:表:DateCount02/01/200510002/02/200520002/03/2005300......输出:DaysAverageMonday120.5Tuesday200.2Wednesday300.5 最佳答案 你可以一系列avg调用提取日期名称的case表达式:SELECTAVG(CASEDAYOFWEEK(`date`)WHEN2THEN`count`ELSENULL

MySQL - 计算相关记录的百分比和计数

请需要帮助来完成代码以执行以下操作:计算具体记录的票数和百分比,是一个电影网站,用户可以在这里观看和投票电影,那么该网站应该更多地展示所有电影以降低用户的票数,这里详细说明什么我正在尝试做。1)计算每部电影的票数。2)通过单独的“Theyaretotally3table[votes]”获取每部电影的得票数,如:电影1共有100票,20%的用户认为Regular,30%的用户认为Good,50%的用户认为很好。3)获取“3oftable[votes]”之间的最大票数的百分比,如果用户投票更多的是电影非常好,我必须计算那个百分比,所以我们可以创建一个小donut或图形,向用户展示比你喜欢的

mysql - 你的 SQL 语法有错误...在 'float)/CAST(rating_count AS float)) as average_rating from document' 附近

查询如下selectid,IF(rating_count=0,null,CAST(rating_sumASfloat)/CAST(rating_countASfloat))asaverage_ratingfromdocumentdleftjoindocument_aggregate_ratingusing(id)whereidin(123);我得到的错误ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxt

SQL 查询 : Get average, 和所有高于某个值的平均值,在同一个查询中

我在MySQL数据库中有一列数字,还有一个时间戳列和其他内容。我想知道一组参数内所有值的平均值(比如上周内),我还想知道在同一时间范围内>=X的所有值的平均值。所以,如果我的X是10,我的值是:00101520,那么我想要avg=9和avg2=15。我可以执行此操作的一种方法是运行两个单独的查询,使用和不使用WHEREval>=10,但如果可能的话,我想只在一个查询中执行此操作。有没有办法做到这一点?我看过使用CASE,但语法不正确。以下是我尝试过的查询:SELECTAVG(watts),AVG(CASEwattsWHENwhats>=10THENwattsENDCASE)FROMpo

mysql - 在一个 SQL 语句中连接多个 select 语句

我正在尝试将两个sql语句合并为一个,但没有成功。理想情况下,我希望将平均查询添加到第一个sql语句的列末尾。第一条声明:SELECTModules.UserID,Module_Info.ModuleTitle,Modules.ModuleMarks,Modules.ExamMark,Modules.AssignmentMark,MarkClassification.MarkDescriptionFROMModule_InfoINNERJOINModulesONModule_Info.ModuleID=Modules.ModuleIDINNERJOINMarkClassificatio

mysql - 连接时不同表的平均值

CREATETABLE`reviews`(`id`int(11)NOTNULL,`average`decimal(11,2)NOTNULL,`house_id`int(11)NOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8;INSERTINTO`reviews`(`id`,`average`,`house_id`)VALUES(1,'10.00',1),(2,'10.00',1);ALTERTABLE`reviews`ADDPRIMARYKEY(`id`);ALTERTABLE`reviews`MODIFY`id`int(11)NOTNULLAUTO_I

MySQL:如何只获得正值的平均值?

假设我有INT列,并且我使用-1表示在插入时没有可用数据。我想获取该列所有0或更大值的AVG。这可能吗?谢谢。我忘了说我是和其他AVG一起做的,所以它是从选项卡中选择avg(a)、avg(b)、avg(d);...所以我不能使用b>0...因为其他人需要使用行数据,而不管这一列的数据是-1。我突然想到我可以增加AVG结果,例如如果它通常是(4+5+-1+-1+6)/5。但是如果我知道有多少个-1,我可以“修复”结果以排除它们。 最佳答案 这可能有帮助:如果您想忽略平均值中的-1值:SELECTAVG(`a`),AVG(IF(`b`>

sql - 在 MySQL 查询中获取水平平均值的最有效方法是什么?

我有以下MySQL表Id|One|Two|Three----------------------------1|10|30|202|50|60|203|60|NULL|40编辑:当然默认情况下表不需要为NULL,但我不希望它影响平均值(因此平均值计算为50而不是33,33).我希望它看起来像这样,使用MySQL查询:Id|Average------------1|202|43,333|50实现此目标的最有效方法是什么? 最佳答案 selectid,(ifnull(one,0)+ifnull(two,0)+ifnull(three,0

mysql - SQL计算总行之间的平均时间差

我已经四处搜索,但似乎无法找到适合我的答案的问题。我有一个包含近200万行的表,每行都有一个MySQL日期格式的字段。我想计算(以秒为单位)一行被插入的频率,因此使用SQL查询计算所有行的日期之间的平均差异。有什么想法吗?--编辑--这是我的table的样子id,name,date(datetime),age,gender 最佳答案 如果您想知道插入一行的频率(平均),我认为您不需要计算所有差异。您只需要将相邻行(根据时间戳相邻)之间的差异相加,然后将结果除以被加数的个数即可。公式((T1-T0)+(T2-T1)+…+(TN-TN-

MYSQL多表求和使用主键

MySQL对我来说还是很新,所以我很难找到这个特定问题的答案。我有大约60个供应商表,我想将它们合并到一个表中。我们的很多供应商都携带相同的元素,所以我想将所有元素添加到一张表中,而那些具有相同sku的供应商将数量加在一起。我还想插入更大的成本和价格,并将其四舍五入到0.99,但如果它变得太复杂或不能成为sone,我现在将坚持只使用sku和数量。我想从2个表开始,直到我弄清楚,然后一旦我掌握了解决方案,我就可以处理所有这些表。这是2个表的示例:TableA(SKUwillbetheprimarykey)SKUVendorASKUCostPriceQTY1000VA10049.9962.