python SQL按数字增长百分比排序

时间:2015-05-30 09:47:14

标签: python mysql

我有一个表格,我保存所有电子邮件地址,另一个表格用于保存电子邮件域及其在第一个表格中的出现。每天都会在第一个表中添加新电子邮件,并在第二个表中更新新统计信息。

这是第一张表:

CREATE TABLE mailing (
addr VARCHAR(255) NOT NULL
);

我还在第二张桌子上工作,它目前只能节省2天的统计数据:

CREATE TABLE daily_stat(
                            domain VARCHAR(255) NOT NULL,
                            prev_count INT,
                            cur_count INT,
                            day_count INT )

prev_count是昨天发生的,cur_count是今天发生的。 每天,第二个表由两个函数更新:

def insert(con,domain,cur_count):
try:
    cursor = con.cursor()
    cursor.execute("INSERT INTO daily_stat VALUES('%s' ,'%d','%d','%d' )" %(domain,0,cur_count,0))
    con.commit()
except mdb.Error, e:
    con.rollback()
    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)
finally:
    cursor.close()

def update(con,domain, cur_count):
try:
    cursor = con.cursor()
    cursor.execute("UPDATE daily_stat SET prev_count = cur_count,cur_count = %d, day_count = day_count+1 WHERE domain = '%s'" %(cur_count,domain))
    con.commit()
except mdb.Error, e:
    con.rollback()
    print "Error %d: %s" % (e.args[0],e.args[1])
    sys.exit(1)
finally:
    cursor.close()

现在,我希望在过去7天内获得前50个增长百分比最大的域名(第一张牌的出现次数/总排数增加)。 我是否必须在第二个表中创建7个新列以节省每天的发生次数。有什么棘手的方法吗?

感谢。

0 个答案:

没有答案