gpt4 book ai didi

PHP mysql 获取两个日期之间的减法

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:38 25 4
gpt4 key购买 nike

我有这样的表结构:

Id    Name      Rank      Date
-----------------------------------
1 test 1000 2012-1-11

2 test 7000 2012-1-10

3 test2 2000 2012-1-11

4 test2 200 2012-1-10

5 test3 4000 2012-1-10

6 test4 6500 2012-1-11

考虑今天的日期是 2012-1-11昨天日期是 2012-1-10

在单个查询中,我得到今天和昨天日期的每个用户名之间的差异。即测试昨天有 7000 名,今天有 1000 名。所以结果是 6000同样,test2 的值为 -1800。

我需要输出为:

Name     Difference (Orderby the difference Desc)
--------------------
test 6000
test2 -1800

如果今天或昨天的记录不可用,那么我们不会将此记录用于计算。

这在 PHP MySQL 中可能吗?

最佳答案

这个怎么样? (虽然不是很清楚你想要达到的目标......)请发表评论。

代码:

select b.id, b.name, (b.rank-a.rank) diff
from t1 a
left join t1 b
on b.date < a.date
and b.name = a.name
having not diff is null
;

结果:

ID  NAME    DIFF
2 test 6000
4 test2 -1800

根据 OP 的评论进行编辑:

请注意,我已将额外的几条记录添加到您的示例表中以触发条件。

代码2:

select b.id, b.name,b.rank AS New,
b.Date new_date,
a.Rank as Old, a.date as old_date,
(b.rank-a.rank) diff
from t1 a
left join t1 b
on b.name = a.name
where b.date > a.date and b.date <= Now()
and datediff(b.date, a.date) = 1
having not diff is null and diff <> 0
order by diff desc
;

结果:

ID  NAME    NEW     NEW_DATE            OLD     OLD_DATE            DIFF
3 test 8000 January, 12 2012 1000 January, 11 2012 7000
4 test2 2000 January, 11 2012 200 January, 10 2012 1800
1 test 1000 January, 11 2012 7000 January, 10 2012 -6000

关于PHP mysql 获取两个日期之间的减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com