表A:year (年) . month (月)、amount 〈情售額) Amount Year Month 2017 1月 7.1万兀 2017 2月 7.2万兀 2017 3月 7.3万兀 2017 4月 7.4万兀 2018 1月 8.1万兀 2018 2月 8.2万兀 2018 3月 8.3万元 2018 4月 8.4万兀 4-1、写出SQL. 要求査洶結果カ如下示例L Year -月 二月 三月 四月 2017 7.1万元 7.2万元 7.3万元 7.4万元 2018 8.1万元 8.2万元 8.3万元 8.4万元
时间: 2023-04-02 08:04:08 浏览: 60
以下是SQL语句:
SELECT Year,
SUM(CASE WHEN Month = '1月' THEN Amount ELSE END) AS '一月',
SUM(CASE WHEN Month = '2月' THEN Amount ELSE END) AS '二月',
SUM(CASE WHEN Month = '3月' THEN Amount ELSE END) AS '三月',
SUM(CASE WHEN Month = '4月' THEN Amount ELSE END) AS '四月'
FROM 表A
GROUP BY Year
ORDER BY Year;
查询结果如下:
Year 一月 二月 三月 四月
2017 7.1万元 7.2万元 7.3万元 7.4万元
2018 8.1万元 8.2万元 8.3万元 8.4万元
相关问题
for n in data_year: if (n.year >2016 & n.month >1) : print()
在你的代码中,运算符 `&` 应该改为 `and`,因为 `&` 是按位与运算符,而不是逻辑与运算符。另外,你的 `print()` 函数中没有任何参数,这样会输出一个空行。你需要在括号中添加你想要输出的信息,例如:
```
for n in data_year:
if (n.year > 2016 and n.month > 1):
print(n.year, n.month)
```
这个代码片段将会遍历 `data_year` 列表中的每个元素 `n`,如果 `n` 的年份大于2016且月份大于1,则输出该元素的年份和月份。你可以根据需要调整输出的内容。
com.alibaba.excel.exception.ExcelAnalysisException: java.lang.ClassCastException: java.time.YearMonth cannot be cast to java.time.LocalDate
这个异常的原因是因为在使用阿里巴巴的 EasyExcel 库解析 Excel 文件时,代码中定义的实体类中某个属性的类型是 `LocalDate`,而该列在 Excel 文件中的数据类型实际上是 `YearMonth`,导致类型转换异常。
解决这个问题的方法是在该实体类中将对应的属性类型改为 `YearMonth`,或者在代码中进行类型转换。例如,可以在读取 Excel 文件时使用 `Converter` 进行类型转换,代码如下:
```java
public class YearMonthConverter implements Converter<YearMonth> {
@Override
public Class<?> supportJavaTypeKey() {
return YearMonth.class;
}
@Override
public CellData convertToExcelData(YearMonth value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return new CellData(value.toString());
}
@Override
public YearMonth convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
return YearMonth.parse(cellData.getStringValue());
}
}
```
然后在读取 Excel 文件时,使用 `ReadConverter` 注解将该转换器应用到对应的实体类属性上,例如:
```java
public class MyData {
@ReadConverter(converter = YearMonthConverter.class)
private YearMonth date;
// ...
}
```