我正在用PHP开发一个应用程序。为此,我使用MySql数据库。我想计算两个日期之间的时、Daily、月和年平均()。
我对小时平均数的查询是
SELECT avg(value)
FROM table_name
WHERE (added_date BETWEEN '2014-01-29 00:00:00' AND '2014-01-31 00:00:00')
GROUP BY DATE(added_date), HOUR(added_date)
ORDER BY added_date ASC
现在,我想对计算日、月和年平均数做同样的查询。请提出解决办法
我有以下MySQL查询:
SET @rowno= 0;
SELECT @rowno:=@rowno+1 AS `row`,`year`,`year_average` FROM(
/*get the average from the start of the 10 year period and the current period*/
SELECT year,AVG(value) AS year_average FROM
/* get all records that have technical and trade school industry code */
(SELECT * F
我有一个名为RawData的mysql表,我将值写入每一分钟。该表如下所示(我将date和time放在单独的列中):
date time value
2015-07-17 15:56:04 33.00
2015-07-17 15:57:09 27.00
如果我想要18:00的平均数据,则应该使用18:00到18:09的值来计算平均值。(默认情况下,mysql不会这样做)
我只想用这个查询来计算平均值:
SELECT Date, convert((min(Time) DIV 1000)*1000,time) as Time,Va
使用mysql,如何限制用户只获取聚合信息(例如。表的总和、平均数、计数),并且只有当记录的结果大于阈值时?
例如,如果阈值为2,如果只有一个供应商居住在伦敦,则不应响应以下查询。
select count(*) from s where city = "london"
但不应对此作出回应。
select salary from s where city = "london"
因为如果用户事先知道只有一个人住在伦敦,他就可以知道自己的薪水。我想阻止这一切。
我在一个网站上工作,该网站要求我显示用户每天输入的平均数量的图表。我已经有一个SQL查询将此信息返回给我:
SELECT sum(number)/count(number) as average, date FROM stats WHERE * GROUP BY date
这给出了我想要的结果,但结果是三位小数精度的。我想对这个数字进行四舍五入。当然,我可以用PHP或我的模板引擎来完成,但我很好奇是否有一种方法可以在数据库中完成所有这些工作。
有没有办法将输出转换为整数(在MySQL中)?
我试图计算一个班级的班级平均数,在这个班级中,学生可以掌握不同数量的科目(例如:一个班有两个学生,其中一个参加3门课,另有2个课)。如何获得适用于所有学生的班级平均数?我已经把他们的总成绩列在一张桌子上了。我知道计算平均值的公式是单个学生的总平均数除以学生人数,但我似乎无法做到这一点。有人能帮我写一个查询,计算并打印出这个类平均值吗?
以下是我到目前为止尝试过的:
SELECT student_id, SUM(CA_total)/count(term_total) AS average
FROM score_entry
GROUP BY student_id
📷
但是我想最后的结果是25 +
我有以下查询:
WITH data AS(
SELECT * FROM partstat WHERE id=4
)
SELECT id, AVG(Value) AS Average
FROM (
SELECT id,
AVG(column_1) as column_1,
AVG(column_2) as column_2,
AVG(column_3) as column_3
FROM data
GROUP BY id
) as pvt
UNPIVOT (Value FOR V IN (column_1,column_2,colu
我下面的查询运行良好,并返回已发货的商品、总天数和平均每天的商品数量。
SELECT A.ItemsShipped, A.TotalDays, cast(A.ItemsShipped as float)/cast(A.TotalDays as float) AS
'Averange items shipped per day'
FROM(SELECT
(SELECT Count(*)
FROM PARTNER_WORKORDER
WHERE statusNo = 110)
AS ItemsShipped,
我试图获得过去两个月的平均值,但不是基于CURDATE()/NOW()。它将取决于用户在应用程序中查看的月份:
例:如果我看五月,我会想要四月和三月的平均数。如果我看二月份,我会想要一月和十二月的平均数(前一年的)。
我有一个函数,它接受用户所在页面的月份和年份(它也接受emp_id,但这与这个问题无关)。
public function getProtectedAmt($month,$year,$id){
$query = "SELECT avg(total_payout) as avg_payout FROM saved_plan_data WHERE emp_id = '
我正在尝试获得一个MySQL查询,以便从一个记录给定月份和年份中一周中每一天的mac地址的表中获得唯一设备的平均数量。到目前为止,我用它来计算所有设备的数量。
SELECT DAYNAME(date_time) dow,
DAYOFWEEK(date_time) day_num,
COUNT( DISTINCT (mac) ) as devices
FROM detected_devices
WHERE client_id = 11
AND venue_id = 1
AND EXTRACT( YEAR FROM date_time) = 2010
AND EXTRACT( MONTH F
假设有两个列的名为事务的表: invoiceNumber和itemNumber。单张发票上一个项目的多个数量由表中的多个记录反映。(我知道这不是一个合适的设计,但我正在简化一个更复杂的结构来解决根本问题。)
我可以通过如下查询来确定每个发票的唯一项目的平均数量:
SELECT invoiceNumber, COUNT(DISTINCT itemNumber)
FROM transactions
GROUP BY invoiceNumber
此查询实际上忽略了一个项目的数量,每个发票只计算一次,并显示每个发票的结果。
然而,我真正想要的不是所有这些详细信息,而是确定在 all 发票中唯一条目
我正在学习MySQL --有没有一种组合(或嵌套)聚合函数的方法?
给出一个查询:
SELECT user, count(answer) FROM surveyValues WHERE study='a1' GROUP BY user;
这将为我提供每个用户回答的问题数量。我真正想要的是每个user...something回答的问题的平均数量,比如:
SELECT avg(count(answer)) FROM surveyValues WHERE study='a1';
计算这个统计量的正确方法是什么?
如果这是可能的,那么有没有一种方法可以为每个问题分解这个
使用Oracle SQL,我试图写一条语句来回答以下问题: NFL球队的胜利比他们的分区平均数要多,而且罚球码也比除法平均数多。
我有两个独立的语句,能够分别返回每一个(IE:一个表列出胜于除法平均数的球队,另一个表列出罚球数超过平均水平的球队)。
然而,当我试图交叉这两个查询时,我遇到了错误。“错误选择关键字”是给定的错误。
WITH divisionPenaltyYards AS
(
SELECT division
,avg(penaltyyards) AS AVGPenalty
FROM nfl.teams
GROUP BY division
)
我最近开始对进行评估,它看起来很棒,但最后我找到了一个似乎很难用Squeryl“构建”的SQL查询。
我想要所有数量高于所有产品平均数量的产品。在SQL中,这看起来像
SELECT * FROM product p WHERE p.quantity > (SELECT AVG(quantity) FROM product)
我已经发现Squeryl支持in()、exists()和notExists()在where-clause子查询中。但是,由于Squeryl也支持avg聚合,我希望这样的事情是可能的:
val avgQuantity = from(products)(p => c
在将运行主服务器的两个MySQL服务器从Percona MySQL 5.5升级到Percona MySQL 5.6之后,在从服务器上创建了过多的临时表。
大师似乎有着和以前相似的速度。
在奴隶身上,我们从平均每秒35次上升到大约每秒1000次。(这些是非常粗略的平均数)。我们在这个服务器上每秒有大约3200个查询。
root:/var/lib/mysql# mysql -e "show global status like 'Created_tmp%_tables';" -e "show global status like 'Uptime%
SQL查询,以列出已下单超过平均数量的所有客户。
订单详细信息显示在NW_orders表中,客户信息出现在NW_Customers表中。
首先,我计算了所有客户订购的Avg数量。然后,我想只拉客户谁下了订单超过平均数量的订单。
我的问题是:
SELECT
C.customerid, C.companyname, COUNT(O.orderid) AS cnt
FROM
NW_customers C
LEFT JOIN
NW_orders O ON O.customerID = C.Customerid
GROUP BY
C.customerid
HA