コード例 #1
0
def wrap3CorrectValueRules(database, colName, point=2):
    # colName = 'fc'
    orginSql = 'SELECT count(1) FROM football_data WHERE 1=1 '
    pankousql = 'SELECT pankou,COUNT(1),pankou FROM football_data WHERE 1=1 and pankou is not null  %s GROUP BY pankou' \
                ' HAVING count(1)>20 order by pankou'
    for i in range(3):
        conds = []
        name = colName + str(i + 1)
        valuesql = 'SELECT ROUND(%s,%s),COUNT(1) from football_data WHERE %s is not null  GROUP BY ROUND(%s,%s) HAVING count(1)>20 ORDER BY ROUND(%s,%s)' % (
            name, point, name, name, point, name, point)
        valList = database.execQuery(valuesql)
        if valList is None or len(valList) == 0:
            continue
        for k in valList:
            if k[1] < 5:
                continue
            num = k[0]
            constr = ' AND ROUND(' + name + ',%s)=%s AND ROUND(%s,%s)!=%s AND ROUND(%s,%s)!=%s' % (
                point, num, colName + str((i + 1) % 3 + 1), point, num,
                colName + str((i + 2) % 3 + 1), point, num)
            tpankousql = pankousql % (constr)
            pankouList = database.execQuery(tpankousql)
            for j in pankouList:
                #print(('列名:%s,值:%s,盘口:%s,临场盘口:%s') % (name, num, j[0], j[2]))
                totalSql = orginSql + constr
                totalSql = totalSql + ' AND pankou=%s ' % (j[0])
                count = j[1]
                addCond(totalSql, count, j[0], j[2], conds, constr, name, num,
                        database)

        DB.insertCondition(database, conds)
コード例 #2
0
def wrap1CorrectValueRules(database, colName):
    orginSql = 'SELECT count(1) FROM football_data WHERE 1=1 '
    pankousql = 'SELECT pankou,COUNT(1),pankou FROM football_data WHERE 1=1 and pankou is not null  %s GROUP BY pankou' \
                ' HAVING count(1)>20 order by pankou'
    conds = []
    name = colName
    valuesql = 'SELECT ROUND(%s,2),COUNT(1) from football_data WHERE %s is not null  GROUP BY ROUND(%s,2) HAVING count(1)>20 ORDER BY ROUND(%s,2)' % (
        name, name, name, name)
    valList = database.execQuery(valuesql)
    if valList is None or len(valList) == 0:
        return
    for k in valList:
        num = k[0]
        constr = ' AND ROUND(' + name + ',2)=%s ' % (num)
        tpankousql = pankousql % (constr)
        pankouList = database.execQuery(tpankousql)
        for j in pankouList:
            #print(('列名:%s,值:%s,盘口:%s,临场盘口:%s') % (name, num, j[0], j[2]))
            totalSql = orginSql + constr
            totalSql = totalSql + ' AND pankou=%s ' % (j[0])
            count = j[1]
            addCond(totalSql, count, j[0], j[2], conds, constr, name, num,
                    database)

    DB.insertCondition(database, conds)
コード例 #3
0
ファイル: testRules.py プロジェクト: qq6264214/football
def wrapSeniorRules(database, consql):
    orginSql = 'SELECT count(1) FROM football_data WHERE 1=1 and bisaishijian<"2019-09-01" '
    pankousql = 'SELECT pankou,COUNT(1),pankou FROM football_data WHERE 1=1 and pankou is not null %s GROUP BY pankou' \
                ' HAVING count(1)>30 order by pankou'
    conds = []
    tpankousql = pankousql % (consql)
    pankouList = database.execQuery(tpankousql)
    if len(pankouList) == 0:
        return 0
    for j in pankouList:
        totalSql = orginSql + consql
        totalSql = totalSql + ' AND pankou=%s ' % (j[0])
        count = j[1]
        appendCons(totalSql, count, j[0], j[0], conds, database, consql)
    DB.insertCondition(database, conds)
コード例 #4
0
ファイル: seniorRules.py プロジェクト: qq6264214/football
def wrapSeniorRules(database, consql, colName, colValue):
    orginSql = 'SELECT count(1) FROM football_data WHERE 1=1 '
    pankousql = 'SELECT pankou,COUNT(1),linchangpankou FROM football_data WHERE 1=1 and pankou is not null %s GROUP BY pankou' \
                ' HAVING count(1)>20 order by pankou'
    conds = []
    tpankousql = pankousql % (consql)
    pankouList = database.execQuery(tpankousql)
    if len(pankouList) == 0:
        return 0

    for j in pankouList:
        # print(('列名:%s,值:%s,盘口:%s,临场盘口:%s') % (name, num, j[0], j[2]))
        totalSql = orginSql + consql
        totalSql = totalSql + ' AND pankou=%s ' % (j[0])
        count = j[1]
        appendCons(totalSql, count, j[0], j[0], conds, consql, database,
                   colName, colValue)

    DB.insertCondition(database, conds)
コード例 #5
0
ファイル: pandasRule.py プロジェクト: qq6264214/football
def mytask(tArr,nameArr,database,j,data,printStr,modelId,ouPeiMap,pk,sindex):
    conds = []
    lessColMap={}

    for ti in range(len(tArr)):
        t = tArr[ti]
        sql = ''
        namestr = ''
        for m in range(len(t)):
            if m == len(t) - 1:
                sql += t[m]
                namestr += nameArr[ti][m]
            else:
                sql = sql + t[m] + '&'
                namestr += nameArr[ti][m] + ','

        screenData(ouPeiMap, sql, namestr, j, conds, data,lessColMap,modelId,pk,sindex)
        print(('%s,当前进度:%s/%s') % (printStr, ti + 1, len(tArr)))
        if len(conds) > 5:
            DB.insertCondition(database, conds)
            conds = []
    if len(conds) > 0:
        DB.insertCondition(database, conds)