我正在寻找一个查询,它将:读取一列中一行的当前值,将其与上面的行进行比较,如果上面的行匹配,则依次计数。本质上,这听起来像是一个运行计数,而不是计数(*),几乎就像行应该在每一组行上执行计数(变量)-1,直到它达到最小零。下面的示例假设我们有一个每日销售额列表,并计算给定产品ID的出现次数。这有可能吗?
选择Count(ProductID)作为SalesCount未知公式作为SalesOccurrence
您所描述的内容有时可以在Access SQL中使用包含其中一个字段之间的大于或小于关系的自联接来完成。例如,假设我们有一个名为[SalesHistory]的表,其中包含数据
ProductID SalesDate DailySales
--------- ---------- ----------
001 2013-10-16 225
001 2013-10-17 195
001 2013-10-18 250
002 2013-10-16 350
002 2013-10-17 375
002 2013-10-18 330
询问
SELECT t1.ProductID, t1.SalesDate, t2.ProductID, t2.SalesDate
FROM
SalesHistory t1
INNER JOIN
SalesHistory t2
ON t1.ProductID = t2.ProductID
AND t1.SalesDate >= t2.SalesDate
ORDER BY t1.ProductID, t1.SalesDate
返回以下结果
t1.ProductID t1.SalesDate t2.ProductID t2.SalesDate
------------ ------------ ------------ ------------
001 2013-10-16 001 2013-10-16
001 2013-10-17 001 2013-10-17
001 2013-10-17 001 2013-10-16
001 2013-10-18 001 2013-10-18
001 2013-10-18 001 2013-10-17
001 2013-10-18 001 2013-10-16
002 2013-10-16 002 2013-10-16
002 2013-10-17 002 2013-10-17
002 2013-10-17 002 2013-10-16
002 2013-10-18 002 2013-10-18
002 2013-10-18 002 2013-10-17
002 2013-10-18 002 2013-10-16
请注意,对于t1。productID='001'
t1返回一行。SalesDate=#2013-10-16#,t1的两行。SalesDate=#2013-10-17#
,以此类推。因此,我们可以调整该查询来计算返回的行,这将根据productID给我们每个日期的排名
SELECT t1.ProductID, t1.SalesDate, COUNT(*) AS DateRank
FROM
SalesHistory t1
INNER JOIN
SalesHistory t2
ON t1.ProductID = t2.ProductID
AND t1.SalesDate >= t2.SalesDate
GROUP BY t1.ProductID, t1.SalesDate
...返回:
ProductID SalesDate DateRank
--------- ---------- --------
001 2013-10-16 1
001 2013-10-17 2
001 2013-10-18 3
002 2013-10-16 1
002 2013-10-17 2
002 2013-10-18 3
如果我们在Access中保存该查询为[SalesDateRanksByProducts],那么我们可以在另一个查询中使用它来显示原始数据旁边的DateRank“计数器”:
SELECT
SalesHistory.ProductID,
SalesHistory.SalesDate,
SalesHistory.DailySales,
SalesDateRanksByProduct.DateRank
FROM
SalesHistory
INNER JOIN
SalesDateRanksByProduct
ON (SalesHistory.SalesDate = SalesDateRanksByProduct.SalesDate)
AND (SalesHistory.ProductID = SalesDateRanksByProduct.ProductID)
ORDER BY SalesHistory.ProductID, SalesHistory.SalesDate;
...返回:
ProductID SalesDate DailySales DateRank
--------- ---------- ---------- --------
001 2013-10-16 225 1
001 2013-10-17 195 2
001 2013-10-18 250 3
002 2013-10-16 350 1
002 2013-10-17 375 2
002 2013-10-18 330 3
给定类 我想添加一个方法,该方法计算列表中某个数字出现的次数。我尝试了以下方法,但它并不总是有效的,我不确定我做错了什么。 此方法适用于,(它应该返回) 但对于,,则返回。
我想计算一下给定句子中出现了多少个单词。我使用的是C编程语言。它不能计算最后一个字。在给定的字符串中,它计算每个单词发生的次数。如果有像这样的句子,那么程序应该算。但在我的情况下,它不算作。而不是计算,然后: 我的代码:
问题内容: 当用户访问我的Flask应用中的页面时,我想增加一个计数器。如果有两个用户访问该页面,则计数应增加2。我尝试了以下操作,但计数始终为1。如何增加每次访问的值? 问题答案: 同时计数很难。假设计数为0。如果两个用户都以足够近的时间间隔命中端点,则他们每个人可能会得到值0,将其递增为1,然后放回原值。有两个用户命中了端点,但最终计数为1,而不是2。要解决此问题,您需要使用支持原子递增的数据
我有以下计数器指标 如何计算最近2分钟内活动设备的数量,即2(设备id 3和4)?
我想监控值设置为每秒普罗米修斯计的次数。不幸的是,我不能添加另一个计数器,应该使用量规。我尝试使用更改函数,但要么我不明白它的目的,要么它根本不做这项工作。将测量仪图与具有时间范围的变化()输出进行比较没有显示任何相关性。 在我看来,使用count_over_并未提供该指标,原因与changes()相同。 有没有一种正确的方法来计算将值设置为每秒普罗米修斯计的次数? 假设我们有: prom_仪表=
我正在尝试计算Pandas数据帧中一个值与另一个值一起出现的次数,并计算每行的次数。 这就是我的意思: 假设我想计算与,我希望结果是: 这里的< code>freq(频率)列表示< code>a列中的值与< code>t列中的值一起出现的次数。 请注意,考虑到我的数据帧的大小,仅计算发生的次数的解决方案将导致错误的频率。 有没有办法在Python中实现这一点?