gpt4 book ai didi

mysql - 如果存在匹配的日期和 ID 对,则合并两个表并对列求和

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

我正在尝试执行一个 MYSQL/SQL 查询,它将两个表合并为一个表,以便只有匹配“日期”和“id”的行才会添加在一起(“计数”相加)。 table1 中任何在 table2 中没有匹配“日期”和“id”对的行都会按原样添加。

我要合并的表是 TABLE1 和 TABLE2,结果是 TABLE_COMBINED。执行这种表耦合的最佳方法是什么?

下面是表格格式和所需结果的示例:

表1

date        |    count  |   id  |

2002-04-15 01:38:00 | 100 | 100 5 |

2002-04-15 01:38:00 | 10 | 10 6 |

2002-04-15 01:38:00 | 20 | 7 |

...

表2

date        |    count  |   id  |

2002-04-15 01:38:00 | 29 | 29 5 |

2002-04-15 01:38:00 | 20 | 6 |

2003-04-15 01:38:00 | 10 | 10 8 |

...

合并表 1 和表 2。如果“日期”和“id”匹配,则将两个表的“计数”相加。

表组合

date        |    count  |   id  |

2002-04-15 01:38:00 | 129 | 129 5 |

2002-04-15 01:38:00 | 30| 6 |

2002-04-15 01:38:00 | 20 | 7 |

2003-04-15 01:38:00 | 10 | 10 8 |

最佳答案

您可以使用 UNION ALL 轻松获取所有行并对它们进行 GROUP 操作,就像您仅从单个表中进行选择一样;

SELECT `date`, SUM(`count`) `count`, `id`
FROM (
SELECT * FROM Table1
UNION ALL
SELECT * FROM Table2
) a
GROUP BY `date`, `id`

An SQLfiddle to test with .

关于mysql - 如果存在匹配的日期和 ID 对,则合并两个表并对列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762034/

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