Mysql 如何使用SQL合并基于日期的列
如果我有以下SQLMysql 如何使用SQL合并基于日期的列,mysql,Mysql,如果我有以下SQLmy_表: ╔══════╦═════════════════════╦═══════════╦═══════════════╗ ║ id ║ date_recorded ║ new_entry ║ price_updated ║ ╠══════╬═════════════════════╬═══════════╬═══════════════╣ ║ ... ║ ... ║ ... ║ ...
my_表
:
╔══════╦═════════════════════╦═══════════╦═══════════════╗
║ id ║ date_recorded ║ new_entry ║ price_updated ║
╠══════╬═════════════════════╬═══════════╬═══════════════╣
║ ... ║ ... ║ ... ║ ... ║
║ 120 ║ 2020-02-13 18:53:49 ║ 15 ║ 13 ║
║ 121 ║ 2020-02-14 00:52:58 ║ 5 ║ 2 ║
║ 122 ║ 2020-02-14 06:53:38 ║ 1 ║ 4 ║
║ 123 ║ 2020-02-14 12:54:21 ║ 5 ║ 1 ║
║ 124 ║ 2020-02-14 18:54:50 ║ 9 ║ 9 ║
║ 125 ║ 2020-02-15 00:54:45 ║ 7 ║ 11 ║
║ ... ║ ... ║ ... ║ ... ║
╚══════╩═════════════════════╩═══════════╩═══════════════╝
问题:
我如何编写SQL查询来查询my\u表中的所有日期
,以便输出的只是日期,而新条目
和价格更新
列则合并为一行,用于记录日期
列中的所有日期:
╔═════════════════╦═══════════╦═══════════════╗
║ date_recorded ║ new_entry ║ price_updated ║
╠═════════════════╬═══════════╬═══════════════╣
║ ... ║ ... ║ ... ║
║ 2020-02-13 ║ 15 ║ 13 ║
║ 2020-02-14 ║ 20 # ║ 16 * ║ #20 = 5 + 1 + 5 + 9 | *16 = 2 + 4 + 9 + 1
║ 2020-02-15 ║ 7 ║ 11 ║
║ ... ║ ... ║ ... ║
╚═════════════════╩═══════════╩═══════════════╝
您只需使用
groupby
表达式,在DATE\u recorded
的DATE
部分进行分组,然后SUM
将新条目
和price\u更新后的值进行分组:
SELECT DATE(date_recorded) AS date_recorded,
SUM(new_entry) AS new_entry,
SUM(price_updated) AS price_updated
FROM my_table
GROUP BY DATE(date_recorded)