gpt4 book ai didi

php - 如何从数据库中选择用户的所有条目?

转载 作者:行者123 更新时间:2023-11-29 06:34:20 25 4
gpt4 key购买 nike

我正在尝试在我的商店中创建一个“顶级购买者”模块,但我对 MySQL 查询有点困惑。

我有一个包含所有交易的表,我需要选择过去一个月花费最高金额的人(可能有一笔或多笔交易)。

我有:

name | money spent
------------------
john | 50
mike | 12
john | 10
jane | 504
carl | 99
jane | 12
jane | 1

我想看到的内容:

通过查询,我需要查看:

name | money spent last month
-----------------------------
jane | 517
carl | 99
john | 60
mike | 12

我该怎么做?

我似乎并没有找到很多好的解决方案,因为我的 MySQL 查询技能非常基础。我想到制作一个表,当用户购买东西时,就会在其中添加金钱。

最佳答案

这是一个简单的聚合查询:

SELECT t.name, SUM(t.moneyspent) money_spent_last_month
FROM mytable t
GROUP BY t.name
ORDER BY t.money_spent_last_month DESC
LIMIT 1

该查询对按客户姓名加速的总金额进行求和。结果按照花费的总金额降序排列,并且只保留第一行。

如果您要过滤上个月的数据,则需要在表中有一列来跟踪交易日期,例如transaction_date,然后您可以只需在查询中添加一个 WHERE 子句,例如:

SELECT t.name, SUM(t.moneyspent) money_spent_last_month
FROM mytable t
WHERE
t.transaction_date >=
DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY)
AND t.transaction_date <=
DATE_SUB(NOW(), INTERVAL 1 MONTH)
GROUP BY t.name
ORDER BY t.money_spent_last_month DESC
LIMIT 1

此方法通常比使用 DATE_FORMAT 将日期格式化为字符串并比较结果更有效。

关于php - 如何从数据库中选择用户的所有条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610265/

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