我有一张表格
Category Time Qty
A 1 20
B 2 3
A 3 43
A 4 20
B 5 25
Run Code Online (Sandbox Code Playgroud)
我需要在MySQL中按类别计算运行总计.结果看起来像这样:
Category Time Qty Cat.Total
A 1 20 20
B 2 3 3
A 3 43 63
A 4 20 83
B 5 25 28
Run Code Online (Sandbox Code Playgroud)
知道如何在MySQL中有效地做到这一点吗?我搜索的范围很广,但我能找到的是有关如何在MySQL中插入一个单独运行总计的信息.我想知道是否有任何方法可以使用GROUP BY或类似的构造来实现这一目标.
我有一个包含以下数据的表:
ID In Out
1 100.00 0.00
2 10.00 0.00
3 0.00 70.00
4 5.00 0.00
5 0.00 60.00
6 20.00 0.00
Run Code Online (Sandbox Code Playgroud)
现在我需要一个查询,它给出了以下结果:
ID In Out Balance
1 100.00 0.00 100.00
2 10.00 0.00 110.00
3 0.00 70.00 40.00
4 5.00 0.00 45.00
5 0.00 60.00 -15.00
6 20.00 0.00 5.00
Run Code Online (Sandbox Code Playgroud)
是否可以使用一个查询执行此操作,而无需使用触发器或存储过程?
我使用以下内容尝试以如下格式输出我的月度总计:
January
Quoted Total : £678
Parts Total : £432
Profit Total : £244
February
Quoted Total : £650
Parts Total : £345
Profit Total : £123
Run Code Online (Sandbox Code Playgroud)
等等..........
// Work Complete Totals
$query = $db->query("SELECT SUM(pricequoted) AS pricequotedtotal,
SUM(partprice) AS partpricetotal,
SUM(profit) profittotal,
DATE_FORMAT('%Y-%m', completeddate) AS month
FROM `jobdetails`
WHERE jobstatus='complete'
GROUP BY DATE_FORMAT('%Y-%m', completeddate)");
echo '<div style="float:right; padding-right:10px;">';
echo '<strong>Work Complete Totals</strong>';
while($result = $query->fetch_object()) {
$pricequoted = number_format($result->pricequotedtotal, 2, '.', '');
$partprice = number_format($result->partpricetotal, 2, '.', '');
$profit …Run Code Online (Sandbox Code Playgroud) 我有一个查询结果,如ID,值.我想要的是按照其ID的顺序获取值,并计算另一列中的累计值.看看我的简化代码:
declare @TempTable Table
(
ID int,
Value int
)
insert into @TempTable values
(1, 10),
(2, -15),
(3, 12),
(4, 18),
(5, 5)
select t1.ID, t1.Value, SUM(t2.Value) AccValue from @TempTable t1
inner join @TempTable t2 on t1.ID >= t2.ID
group by t1.ID, t1.Value
order by t1.ID
Result:
ID Value AccValue
1 10 10
2 -15 -5
3 12 7
4 18 25
5 5 30
Run Code Online (Sandbox Code Playgroud)
我想出的是,为了这个目的,在结果和它自身之间使用内连接.但对于大量数据,这显然是一个低性能问题.
还有其他选择吗?
我在数据库列中有一个时间列表(表示访问网站).
我需要按时间间隔对它们进行分组,然后获得这些日期的"累积频率"表.
例如,我可能有:
9:01
9:04
9:11
9:13
9:22
9:24
9:28
Run Code Online (Sandbox Code Playgroud)
我想把它转换成
9:05 - 2
9:15 - 4
9:25 - 6
9:30 - 7
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我甚至可以在SQL中轻松实现这一点吗?我可以很容易地在C#中做到这一点
我有一个单列的表.列是这样的:
1
2
3
4
5
...
Run Code Online (Sandbox Code Playgroud)
我想创建一个查询,显示另一个列,该列将添加以前的值.所以:
1 1 ( 0 + 1 )
2 3 ( 1 + 2 )
3 5 ( 2 + 3 )
4 7 ( 3 + 4 )
5 9 ( 4 + 5 )
9 14 (5 + 9)
45 54 ( 9 + 45)
Run Code Online (Sandbox Code Playgroud)
我将如何构建一个查询来实现这一目标?
从本质上讲,我只想difference之间ROW[X],和ROW[X-1].
我试图从下面的表变量中选择前n个rowid值,这将使我接近200,000的sum(itemcount)而不会超过该阈值.如果我手动看这个,我只需要排在前3行.除非没有基于纯集的方式,否则我不想使用游标.
什么是一个好的基于集合的方法来获得所有rowid值"总和/直到"我达到运行总计200,000?
我在http://www.1keydata.com/sql/sql-running-totals.html查看了"运行总计",但这似乎不会有效,因为真正的表有大约500k行.
这是我到目前为止所尝试的:
declare @agestuff table ( rowid int primary key , itemcount int , itemage datetime )
insert into @agestuff values ( 1 , 175000 , '2013-01-24 17:21:40' )
insert into @agestuff values ( 2 , 300 , '2013-01-24 17:22:11' )
insert into @agestuff values ( 3 , 10000 , '2013-01-24 17:22:11' )
insert into @agestuff values ( 4 , 19000 , '2013-01-24 17:22:19' )
insert into @agestuff values ( 5 , 16000 , '2013-01-24 17:22:22' …Run Code Online (Sandbox Code Playgroud) 我一直在Excel办公室工作.我的记录变得太多了,想要使用mysql.i有一个来自db的视图它有"date,stockdelivered,sales"列我想添加另一个计算字段,称为"库存余额".我知道这应该是在数据输入期间在客户端完成的.我有一个脚本,只根据视图和表生成php列表/报告,它没有添加计算字段的选项,所以我想在可能的情况下在mysql中创建一个视图.
在excel中,我曾经如下做过.

我想知道这是否可能在mysql中.

我对我的sql没有太多经验,但我想第一个必须能够选择前一行.colomn4然后将其添加到当前row.colomn2减去当前row.colomn3
如果有另一种方法可以实现相同的输出请建议.
从EMPLOYEE表中,我想对记录数量(雇用的员工)进行分组,并且每天运行TOTAL.输入的格式如下:
rownum Hired_date_time 1 1/10/2012 11:00 2 1/10/2012 13:00 3 20/11/2012 10:00 4 20/11/2012 15:00 5 20/11/2012 16:00 6 30/12/2012 1:00
所需的输出:
Hired_date.......Hired_per_day.........TOTAL_number_of_employees 1/10/2012 ...................2 ........2 20/11/2012 ..................3 ........5 30/12/2012 ..................1 ....... 6
GROUPING PERDAY没问题:
select trunc(Hired_date_time) as "Hired_date" ,
count(*) as "Hired_per_day"
from employee
group by trunc(Hired_date_time)
order by trunc(Hired_date_time);
Run Code Online (Sandbox Code Playgroud)
问题:如何使用窗口函数获得总计(在最后一列中)
这可能很简单...
我在Power BI中有下面的摘要表,需要构建一个帕累托图,我正在寻找一种创建列“ D”和“ E”的方法...谢谢!
来自“ B”列的计数是我在PBI中基于多个过滤器创建的度量。我已经尝试了一些Calculate / Sum / Filter类型的表达式,但是没有运气。
我的原始数据看起来像图像#2 ...我有措施来构建汇总表,但“ I”列-运行%-(为此,我还需要每个存储桶中的事件总数)。
不幸的是,我无法成功应用DAXPATTERNS的计算。
running-total ×10
sql ×6
mysql ×5
sql-server ×2
balance ×1
cursor ×1
dax ×1
group-by ×1
oracle ×1
pareto-chart ×1
php ×1
powerbi ×1