IBM Db2:在“SELECT test_score”之后发现意外标记“as”SQL0104N

问题描述

我现在在使用查询的 IBM Db2 时遇到问题。我有下面的代码

test_score_distribution = %sql SELECT test_score as "Test score",count(*) as "Frequency" from INTERNATIONAL_STUDENT_TEST_scoreS GROUP BY test_score;

test_score_distribution

但是在执行的时候,我遇到了这个错误

(ibm_db_dbi.ProgrammingError) ibm_db_dbi::ProgrammingError: sqlNumResultCols 失败:[IBM][CLI 驱动程序][DB2/LINUXX8664] sql0104N 在“SELECT test_score”之后发现了意外标记“as”。 预期的标记可能包括:“AND”。 sqlSTATE=42601\r sqlCODE=-104 [sql: SELECT test_score 作为测试分数,count(*) 作为频率来自 INTERNATIONAL_STUDENT_TEST_scoreS GROUP BY test_score;](背景 此错误位于:http://sqlalche.me/e/f405)

我该如何解决

解决方法

test_score_distribution = %sql SELECT test_score,count(*) as "Frequency" 
from INTERNATIONAL_STUDENT_TEST_SCORES 
GROUP BY test_score;
test_score_distribution

这为我解决了

,

我遇到了同样的问题,请尝试以下步骤:

test_score_distribution = %sql SELECT test_score,count(*) "Frequency" from INTERNATIONAL_STUDENT_TEST_SCORES GROUP BY test_score;
    
test_score_distribution

然后可以使用此命令更改名称:

dataframe = test_score_distribution.DataFrame()
column_names = dataframe.columns.values
column_names[0] = "Test Score"
dataframe.columns = column_names
column_names[1] = "Frequency"
dataframe.columns = column_names
dataframe

根据我使用 SQL 魔术命令的经验,您需要删除每个查询上的空格。

您可以随时使用 .DataFrame() 函数保存表格并更自由地工作

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...