mysql - 合并两个表的唯一列

标签 mysql sql

我有两个表,如下所示:

mysql> select*from receipt;                                                                                
+----+------------+-------+---------------------+
| id | receipt_id | money | created_at          |
+----+------------+-------+---------------------+
|  1 | receipt_3  |   100 | 2018-10-30 00:00:00 |
|  2 | receipt_4  |   200 | 2018-10-29 00:00:00 |
|  3 | receipt_5  |   300 | 2018-10-31 00:00:00 |
+----+------------+-------+---------------------+
3 rows in set (0.00 sec)

mysql> select*from material;
+----+------------+---------------------+
| id | receipt_id | created_at          |
+----+------------+---------------------+
|  1 | receipt_3  | 2018-10-30 00:00:00 |
|  2 | receipt_3  | 2018-10-30 00:00:00 |
|  3 | receipt_5  | 2018-10-31 00:00:00 |
+----+------------+---------------------+
3 rows in set (0.00 sec)

我得到的结果是这样使用的:“select distinct sum(money),material.created_at from receipt inner join material on receipt.receipt_id=material.receipt_idmaterial分组>.created_at;"

+------------+---------------------+
| sum(money) | created_at          |
+------------+---------------------+
|        200 | 2018-10-30 00:00:00 |
|        300 | 2018-10-31 00:00:00 |
+------------+---------------------+
2 rows in set (0.00 sec)

但是我想通过忽略相同的记录来得到这个:

+------------+---------------------+
| sum(money) | created_at          |
+------------+---------------------+
|        100 | 2018-10-30 00:00:00 |
|        300 | 2018-10-31 00:00:00 |
+------------+---------------------+
2 rows in set (0.00 sec)

想了很久还是没有答案,求助,万分感谢

最佳答案

只需使用 sum(distinct money) :

select sum(distinct money) as sum_money,
       m.created_at 
  from receipt r join material m 
    on r.receipt_id=m.receipt_id 
 group by m.created_at;

+------------+---------------------+
| sum_money  | created_at          |
+------------+---------------------+
|        100 | 2018-10-30 00:00:00 |
|        300 | 2018-10-31 00:00:00 |
+------------+---------------------+

DB-Fiddle Demo

关于mysql - 合并两个表的唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53067977/

相关文章:

javascript - 点击外网链接后通过MySQL保存数据

sql - 无需执行 rbar 即可从多个位置挑选足够的元素

mysql - SQL UNION 奇怪错误

php - sql INNER JOIN 中的位置不起作用?

c# - 如何防止组合框选择更改事件的重复方法?

调用 Volley 时出现 PHP 500 内部服务器错误

c# - 如何将列添加到 .DBF 文件?

php - 文本类型的输入不会在 mysql 表中更新

sql - REGEXP_LIKE 用于 5 个字符的子字符串内任意位置的字符

php - 为什么论坛数据库不在 3rd NF 中?