您好,有一个表名称images
图像
id hits created
--------------------------------------
1 10 2014-11-07 11:07:57
2 8 2014-11-10 05:10:20
3 70 2014-10-04 08:04:22
在上表中,我想获得平均最高频率记录数。
Q. What is Frequency?
A. Frequency means number-of-hits/number-of-days(current date - created date)
注意,您将获得当前日期减去创建日期的天数。
示例:- 假设我的点击次数为 10
,创建日期为 2014-11-07 11:07:57
,那么频率将为为 10/4=2.5
与 8/1=8
和 70/37=1.89
我需要在单个 MySQL 查询中按频率降序获取所有记录。
谢谢 奇努
最佳答案
使用DATEDIFF
函数。
查询
SELECT id,hits,created,
hits/(DATEDIFF(NOW(),created)) AS Frequency
FROM images
ORDER BY Frequency DESC;
输出
+----+------+---------------------------------+-----------+
| ID | HITS | CREATED | FREQUENCY |
|----+------+---------------------------------+-----------+
| 2 | 8 | November, 10 2014 05:10:20+0000 | 8 |
| 1 | 10 | November, 07 2014 11:07:57+0000 | 2.5 |
| 3 | 70 | October, 04 2014 08:04:22+0000 | 1.8421 |
+----+------+---------------------------------+-----------+
Demo
关于mysql - 如何获取MySQL中当前日期到发布日期之间的平均点击数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26858108/