mysql 查询多个用户本月总金额今年总金额一起查询
时间: 2023-07-28 20:13:45 浏览: 115
可以使用以下 SQL 语句查询多个用户本月总金额和今年总金额:
```sql
SELECT
user_id,
SUM(CASE WHEN YEAR(date) = YEAR(NOW()) THEN amount ELSE 0 END) AS this_year_amount,
SUM(CASE WHEN YEAR(date) = YEAR(NOW()) AND MONTH(date) = MONTH(NOW()) THEN amount ELSE 0 END) AS this_month_amount
FROM
transactions
WHERE
user_id IN (user1_id, user2_id, user3_id)
GROUP BY
user_id;
```
其中,`user1_id`, `user2_id`, `user3_id` 分别表示要查询的用户的 ID,可以根据需要进行修改。`transactions` 表示存储交易记录的数据表,其中包括 `user_id`、`date` 和 `amount` 三个字段,分别表示用户 ID、交易日期和交易金额。`YEAR(date)` 和 `MONTH(date)` 函数用于提取日期中的年份和月份。`NOW()` 函数用于获取当前日期和时间。`GROUP BY` 子句用于将结果按用户 ID 进行分组。
相关问题
mysql 查询当天 本周 本月总金额
以下是MySQL查询当天、本周和本月总金额的示例:
1. 查询当天总金额:
```sql
SELECT SUM(price) AS 当天总金额
FROM 表名
WHERE DATE(createTime) = CURDATE();
```
2. 查询本周总金额:
```sql
SELECT SUM(price) AS 本周总金额
FROM 表名
WHERE YEARWEEK(createTime) = YEARWEEK(CURDATE());
```
3. 查询本月总金额:
```sql
SELECT SUM(price) AS 本月总金额
FROM 表名
WHERE YEAR(createTime) = YEAR(CURDATE()) AND MONTH(createTime) = MONTH(CURDATE());
```
阅读全文