小编Art*_*tem的帖子

Presto 中按 id 和按月的累计总和

在 Amazon Athena 中,我有一个如下所示的表:

id   amount date
1    100    2018-04-05
1    50     2018-06-18
2    10     2018-04-23
2    100    2018-04-28
2    50     2018-07-07
2    10     2018-08-08
Run Code Online (Sandbox Code Playgroud)

我想要这样的结果

id   cum_sum date
1    100    2018-04
1    100    2018-05
1    150    2018-06
1    150    2018-07
1    150    2018-08
2    110    2018-04
2    110    2018-05
2    110    2018-06 
2    160    2018-07
2    170    2018-08
Run Code Online (Sandbox Code Playgroud)

所以我想要每个月底(每月最后一天)每个 ID 的累计金额。我知道如何逐月执行此操作,但不知道如何在一次查询中执行此操作。

另一个问题还在于填充空月份(即 ID 1 没有所有月份的条目,因此必须重新使用累积和)。

如果也有 MySQL 的解决方案,我也会很感激。

我希望这是有道理的,并提前致谢。

sql presto amazon-athena

5
推荐指数
1
解决办法
1万
查看次数

在Python中将yyyy-mm-dd转换为yyyy-ww

我正在尝试转换yyyy-mm-ddyyyy-ww

对于以下数据帧如何实现:

dates = {'date': ['2015-02-04','2016-03-05']}

df = pd.DataFrame(dates, columns=['date'])

print(df)
0   2015-02-04
1   2016-03-05
dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)

我试过使用

YW = pd.to_datetime(df, format='%Y%W')
Run Code Online (Sandbox Code Playgroud)

但是没有运气。

python pandas

3
推荐指数
1
解决办法
106
查看次数

如何在 Docker 中保守 dotenv 的秘密?

我有一个本地开发人员。环境,我在其中使用 SQLAlchemy 连接到 SQL DB。我执行以下操作来获取秘密.env

import os
from urllib.parse import quote_plus

import sqlalchemy as sa
from dotenv import load_dotenv
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

load_dotenv()


SERVER = os.getenv("SERVER_NAME")
DATABASE = os.getenv("DB_NAME")
USERNAME = os.getenv("USERNAME")
PASSWORD = os.getenv("PASSWORD")
PORT = os.getenv("PORT", default=1433)
DRIVER = os.getenv("DRIVER")

# connect using parsed URL
odbc_str = 'DRIVER='+DRIVER+';SERVER='+SERVER+';PORT='+PORT + \
    ';DATABASE='+DATABASE+';UID='+USERNAME+';PWD='+PASSWORD
connect_str = 'mssql+pyodbc:///?odbc_connect=' + quote_plus(odbc_str)
# connect with sa url format
sa_url = f"mssql+pyodbc://{USERNAME}:{PASSWORD}@{SERVER}:{PORT}/{DATABASE}?driver={DRIVER}"

SQLALCHEMY_DATABASE_URL = …
Run Code Online (Sandbox Code Playgroud)

python docker

1
推荐指数
1
解决办法
1937
查看次数

标签 统计

python ×2

amazon-athena ×1

docker ×1

pandas ×1

presto ×1

sql ×1