作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MYSQL 中的人员如何将一个日期条目和分数的用户百分比与另一个日期条目和分数进行比较,从而有效地返回从一个日期到另一个日期的用户百分比增加情况?
几天来我一直在试图解决这个问题,但我已经没有想法了,感觉我的 SQL 知识有限。不确定我是否应该使用联接或子查询? MYSQL 表由 3 个字段组成,名称、分数和日期。
表:用户数据
name score date
joe 5 2014-01-01
bob 10 2014-01-01
joe 15 2014-01-08
bob 12 2014-01-08
返回查询思路
user %inc last date
joe 33% 2014-01-08
bob 17% 2014-01-08
这似乎是一个数据库提供的如此简单的功能,但试图理解它超出了我的掌握?
最佳答案
您需要使用SUBQUERIES
。像这样的东西:
SELECT name,
((SELECT score
FROM userData as u2
WHERE u2.name = u1.name
ORDER BY date desc
LIMIT 1
)
/
(
SELECT score
FROM userData as u3
WHERE u3.name = u1.name
ORDER BY date desc
LIMIT 1,1
)
* 100.0
) as inc_perc,
max(date) as last_date
FROM userData as u1
GROUP BY name
关于mysql - 同列计算/百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21277816/
我是一名优秀的程序员,十分优秀!