我有一个SQL脚本,可以按代理商提取销售数据。
cur = conn.cursor()
cur.execute("""select sales_rep,to_char(sales_date,'yyyy-mm')as month,count(*) from sale""")
report = cur.fetchall()
我试图查看是否可以将从输出中获得的计数传递给变量(计数),并将月份值传递给另一个变量(month_count)。
任何人都可以对此提出建议。谢谢。
更新:
样本输出:
Sales_Rep,Month,Count
Person1,Jan,20
Person1,Feb,15
Person1,Mar,10
Person2,Jan,8
Person2,Feb,13
Person2,Mar,15
预期输出:
count = 20,15,108,13,15
month = jan,feb,mar,jan,feb,mar
答案 0 :(得分:1)
您只需要在此处按查询进行基本分组:
SELECT
sales_rep,
TO_CHAR(sales_date, 'yyyy-mm') AS month,
COUNT(*) AS cnt
FROM sale
GROUP BY
sales_rep,
TO_CHAR(sales_date, 'yyyy-mm');
Python代码:
cur = conn.cursor()
cur.execute("""SELECT sales_rep, TO_CHAR(sales_date, 'yyyy-mm') AS month, COUNT(*) AS cnt FROM sale GROUP BY sales_rep, TO_CHAR(sales_date, 'yyyy-mm')""")
rows = cur.fetchall()
for row in rows:
print("{} " + row["month"]).format(row["cnt"])