当前位置: 首页 > 知识库问答 >
问题:

如何在mysql中生成比价报表

程项禹
2023-03-14

我有一个日期的布伦特价格表,保留了从1月1日到1月31日的价格表。 我想比较2020年1月1日(或其他日期)和2021年1月1日(或其他日期)的价格,报告将有日期,年份,如2020年和2021年,2020年的价格显示在2020年下,2021年的价格显示在2021年下。我写了下面的查询,但它没有。

SELECT b.date
     , b1.price as year1
     , b2.price as year2 
  from brentprices as b 
  join brentprices as b1 
    on b1.year = '2020'
  join brentprices as b2 
    on b2.year = '2021'

下面是示例表和数据

以下是预期结果

共有1个答案

于嘉誉
2023-03-14

表格文本图像不同。。。 (但那是另一个讨论):

create table brentprices (date date primary key, price decimal(8.2));

insert into brentprices values ('2020-01-01', 100);
insert into brentprices values ('2020-01-02', 101);
insert into brentprices values ('2020-01-03', 102);
insert into brentprices values ('2021-01-01',  99);
insert into brentprices values ('2021-01-02', 103);
insert into brentprices values ('2021-01-03', 102);

select * 
from brentprices b1 
left join brentprices b2 on b2.date=date_add(b1.date,INTERVAL 1 YEAR) 
where year(b1.date)=2020;

输出:

+------------+-------+------------+-------+
| date       | price | date       | price |
+------------+-------+------------+-------+
| 2020-01-01 |   100 | 2021-01-01 |    99 |
| 2020-01-02 |   101 | 2021-01-02 |   103 |
| 2020-01-03 |   102 | 2021-01-03 |   102 |
+------------+-------+------------+-------+
 类似资料:
  • 问题内容: MySQL的函数返回一个UUIDv1 GUID。我正在寻找一种在SQL中生成随机GUID(即UUIDv4)的简单方法。 问题答案: 我花了很多时间寻找解决方案,并提出了以下mysql函数,该函数使用标准MySQL函数生成一个随机UUID(即UUIDv4)。我正在回答我自己的问题,以期分享它,希望对大家有用。 注意:所使用的伪随机数生成(MySQL’s )在密码上不是安全的,因此存在一些

  • 问题内容: 我在Fedora上运行jmeter2.12。 生成仪表盘报告的步骤是什么? 问题答案: 脚步: 1.从侦听器中添加“摘要报告”,“简单数据编写器”。 2.将位置设置为生成的csv 3.从“ D:\ apache-jmeter-3.0 \ bin \”打开reportgenerator.properties,从中复制所有内容 4.从同一bin文件夹中打开user.properties 5

  • 我在运行jmeter2。戴着软呢帽。 生成仪表板报表的步骤是什么?

  • 问题内容: 我正在使用PHP和MySQL编写脚本,并且想要获得一个唯一的ID(由字符串组成:大写字母和带数字的小写字母),例如:。我在PHP中发现了许多可以生成此类数字的函数,但我担心如何确保id唯一! 更新 :uuid很长,我的意思是这样的ID:(P5Dc)一个11个字母数字的字符。 问题答案: 一个 编程的方式 可以是: 在字段中添加一个唯一索引 在PHP中生成随机字符串 在PHP中循环(wh

  • 在窗口中,使用命令“jmeter -n -t [测试 JMX 文件] -l [测试日志文件] -e -o ”来生成仪表板结果不会执行并显示错误。

  • 问题内容: 我正在尝试在MySQL中生成序列表,以便可以从获得唯一ID 。 问题是我需要动态地多个序列。 首先,我创建了一个表: 然后尝试使用http://dev.mysql.com/doc/refman/5.0/en/information- functions.html#function_last-insert- id中的 示例获取编号 一段时间后,我意识到我还需要安全地为新标签生成行。因此,

  • 问题内容: 有没有一种方法可以生成可以在JOIN中使用的任意数量的行,类似于Oracle语法: 问题答案: 讨厌这样说,但是这是四大公司中唯一没有此功能的公司。 在: 在(最多行)中: 或使用提示最多 在: 在中,什么都没有。