有2个表:“用户”和“点击”。
用户拥有:'用户名'和'推荐人' 点击次数包含:'user'和'value'
users.username = clicks.user
如何推荐引用者为“janosuser”的用户的clicks.value?
我知道它是INNER Join但我不知道sql是什么。
答案 0 :(得分:0)
此查询将为您提供所需内容:
SELECT SUM(clicks.value) FROM clicks INNER JOIN users ON users.username = clicks.user WHERE users.referrer = 'janosuser'
答案 1 :(得分:0)
当您不确定用户表中的用户名是否唯一时
SELECT SUM(clicks.value)
FROM clicks
INNER JOIN
users
ON users.username = clicks.user
where users.refere = "janosuser"
或者
当您确定用户表没有重复的用户名时,即用户表中的用户名是唯一的,否则对于那些用户将会有重复的行并且总和将被夸大
import csv
import re
with open('file.csv') as f, open('newfile.csv', 'w', newline='') as newf:
reader = csv.reader(f, delimiter=';')
writer = csv.writer(newf, delimiter=';')
rows = []
for row in reader:
for i, e in enumerate(row):
if re.match('[A-Z][0-9]{2}\.[0-9]{2}', e): # looking for pattern "A00.00"
idx = i
break
newrow = row[:2]
newrow.append(' '.join(e.strip() for e in row[2:idx])) # joining columns that should be together
newrow += row[idx:]
writer.writerow([e for e in newrow if e]) # writing only non-empty columns
with open('newfile.csv') as f:
for row in f:
print(row)