Sql 如何合并两个表并将其平均(小时表与每日表)

Sql 如何合并两个表并将其平均(小时表与每日表),sql,sqlite,Sql,Sqlite,我有以下表格: CREATE TABLE a (DATE TEXT, PRICE INTEGER) INSERT INTO a VALUES ("2019-04-27", 10), ("2019-04-29",20), ("2019-04-30",30), ("2019-05-01",40); CREATE TABLE b (DATE TEXT, PRICE INTEGER) INSERT INTO b VALUES ("2019-04-27 01:00", 1), ("2019-0

我有以下表格:

CREATE TABLE a (DATE TEXT, PRICE INTEGER) 
INSERT INTO a VALUES 
("2019-04-27", 10), ("2019-04-29",20), ("2019-04-30",30), ("2019-05-01",40); 

CREATE TABLE b (DATE TEXT, PRICE INTEGER) 
INSERT INTO b VALUES 
("2019-04-27 01:00", 1), ("2019-04-27 02:30)",3), ("2019-04-27 18:00",2), 
("2019-04-28 17:00",2), ("2019-04-28 21:00",5), 
("2019-04-29 17:00",50), ("2019-04-29 21:00",10), 
("2019-04-30 17:00",10), ("2019-04-30 21:00",20), 
("2019-05-01 17:00",40), ("2019-05-01 21:00",10), 
("2019-05-02 17:00",10), ("2019-05-02 21:00",6); 
我需要合并这两个表,以便表b平均到每日,表有两列(1是日期(所有日期都必须在那里),2是价格(如果没有对该日期的观察值,则为Null)。我尝试了几个左联接,但不知道如何解决无法将每小时数据平均到每日的问题。 你能帮忙吗

请按照以下步骤执行查询:

请按照以下步骤执行查询:


我怀疑您想要一个包含两列的结果集。我不喜欢将日期设置为字符串数据类型,但您可以根据需要使用字符串函数:

select date, sum(price_a) as price_a, sum(price_b) as price_b
from (select a.date, a.price as price_a, null as price_b
      from a
      union all
      select substr(b.date, 1, 10), null, price
      from b
     ) ab
group by date;

我怀疑您想要一个包含两列的结果集。我不喜欢将日期设置为字符串数据类型,但您可以根据需要使用字符串函数:

select date, sum(price_a) as price_a, sum(price_b) as price_b
from (select a.date, a.price as price_a, null as price_b
      from a
      union all
      select substr(b.date, 1, 10), null, price
      from b
     ) ab
group by date;

显示所需的结果。和spectfy MySQL版本-它对您的任务至关重要。MySQL或sqlite?日期文本?为什么不使用日期时间数据类型,毕竟您为它指定了日期时间的正确格式datatype@RiggsFolly:我认为OP使用的是sqlite-在这个数据库中,日期存储为
文本你的问题看起来很有意思,但没有预期的结果。我认为没有人能确定答案。显示期望的结果。还有spectfy MySQL版本-它对你的任务至关重要。MySQL或sqlite?
日期文本
?既然你是givi,为什么不使用
日期时间
数据类型将正确的日期格式设置为DateTimedatatype@RiggsFolly:我认为OP使用的是sqlite-在这个数据库中,日期存储为
文本
。你真的应该显示你期望的结果。你的问题看起来很有趣,但没有预期的结果。我认为没有人可以确定它。谢谢你,它正在工作,但是ab在第7行是什么意思?@JohnMayer…这是一个表别名,SQL的一个非常重要的部分。谢谢,它正在工作,但是ab在第7行是什么意思?@JohnMayer…这是一个表别名,SQL的一个非常重要的部分。