我正在尝试在 Python 脚本中针对 Redshift DB 运行 SQL 查询。以下结果导致错误“TypeError:dict不是序列”,我不明白为什么。
test1 = """
WITH A AS
(
SELECT *,
CASE WHEN substring(text_value, 0, 4) LIKE ' ' THEN substring(substring(text_value, 0, 4), 3) ELSE substring(text_value, 0, 4) END AS cost_center_id
FROM job_custom_fields
WHERE key = 'cost_center'
)
SELECT job_id,
display_value,
CASE WHEN cost_center_id LIKE '%T%' THEN SUBSTRING(cost_center_id, 1,1)
WHEN cost_center_id LIKE '%D%' THEN SUBSTRING(cost_center_id, 1,1)
WHEN cost_center_id LIKE '%P%' THEN SUBSTRING(cost_center_id, 1,1) ELSE cost_center_id END AS cost_center_id
FROM A
"""
red_engine = create_engine('postgresql+psycopg2://org_525:LZynsTS56PqPlHVhIIgUdDf1c1wuW4gD@redshift.greenhouse.io:5439/greenhouse') …Run Code Online (Sandbox Code Playgroud) 我正在使用 Presto 数据库中的一些课程数据。表中的数据如下所示:
student_id period score completed
1 2016_Q1 3 Y
1 2016_Q3 4 Y
3 2017_Q1 4 Y
4 2018_Q1 2 N
Run Code Online (Sandbox Code Playgroud)
我想格式化数据,使其看起来像:
student_id 2018_Q1_score 2018_Q1_completed 2017_Q3_score
1 0 N 5
3 4 Y 4
4 2 N 2
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过加入每个时间段的表格来做到这一点,但我想在这里问一下是否有任何大师对更具可扩展性的解决方案提出了建议(例如,也许不必为每个时间段手动创建一个新的联接)。有什么建议?
我是R和stackoverflow的新手; 对我的问题提出道歉.
我有两个数据帧
data.frame 1:
Product.ID Description Wholesale.Price
Prod1 Desc1 1.45
Prod Desc2 1.27
Prod3 Desc 3.62
Prod4 Desc4 2.15
Prod5 Desc5 2.87
Prod12 Desc6 2.53
Prod7 Desc7 2.20
Prod8 Desc8 2.60
Prod9 Desc9 3.68
Run Code Online (Sandbox Code Playgroud)
data.frame 2:
Product.ID Description Wholesale.Price
Prod1 Desc1 1.45
Prod2 Desc2 1.27
Prod3 Desc3 3.62
Prod4 Desc4 1.57
Prod5 Desc5 2.87
Prod6 Desc6 2.53
Prod7 Desc7 2.20
Prod8 Desc8 3.21
Prod9 Desc9 1.81
Run Code Online (Sandbox Code Playgroud)
我看到我可以使用merge(list_1,list_2)来打印两个数据帧的所有3列匹配的位置(非常酷).
我试图找到一种方法来打印出基于Product.ID的两个数据框之间的Description和Wholesale.price之间存在差异的地方.我甚至不确定如何以有意义的方式可视化差异.
非常感谢任何帮助.
我正在通过SQL查询寻找一种方法,将来自同一字段但不同行的不同结果合并到一个字段中.
示例数据
ID TAG
1234 A
1234 B
1234 C
Run Code Online (Sandbox Code Playgroud)
期望的结果:
ID TAG
1234 A|B|C
Run Code Online (Sandbox Code Playgroud)