我试图根据Count和*天删除SQLite中的行。
而不是像这样编写多个SQL命令:
DELETE * FROM result WHERE Count = 1 AND ("min(_time)" < strftime('%s','now', '-7 day'));
DELETE * FROM result WHERE Count = 2 AND ("min(_time)" < strftime('%s','now', '-14 day'))
DELETE * FROM result WHERE Count = 3 AND ("min(_time)" < strftime('%s','now', '-28 day'));
等等...
我试图找到一种方法来使用for循环,它增加计数和*天
我试过这个:
data = c1.execute('''SELECT * FROM result;''')
for row in data:
Count = row[1]
days = row[7]
c1.execute('''DELETE * FROM result WHERE Count = ? AND ("min(_time)" < strftime('%s','now', '-? day'));''', (Count, days))
我得到了一个IndexError:元组索引超出范围
下天=row[7]
。
我查了一下错误并更改了号码,看它是否能修复它,仍然是索引器。
结果表的示例数据如下所示:“从结果中选择*从Splunk导出的列:src_ip,‘min(_time)’,Count
183.78.180.27|1542266993|1
185.189.150.42|1542246169|1
185.189.150.61|1542271436|1
2002:8672:d515::8672:d515|1537536602|3
150.135.165.114|1537288499|3
我得到的脚本的概念是正确的吗?有什么关于index错误的建议吗?谢谢!
问题:我正在试图找到一种方法来使用for循环,它增加Count和*天
增量计数
和天数
:
day = -7
for count in range(1, 4):
print("WHERE Count = {} AND '{} day')".format(count, day))
day = day * 2
输出:
注意:这还不能用于SQL语句!
WHERE Count = 1 AND '-7 day')
WHERE Count = 2 AND '-14 day')
WHERE Count = 3 AND '-28 day')
用Python测试:3.5.3
考虑参数化整个间隔日期,'-7 day'
,'-14 day'
,...因为qmark占位符不应该被引用。然后,将内置字符串传递到中。执行()
调用:
delete_sql = '''DELETE FROM result
WHERE [Count] = ?
AND ("min(_time)" < strftime('%s', 'now', ?));
'''
data = c1.execute("SELECT * FROM ...")
for i in data.fetchall():
Count = i[0]
days = '-{} day'.format(i[7])
c1.execute(delete_sql, (Count, days))
conn.commit()
问题内容: 在下面的示例代码中,是否真的需要counter = 0,还是有更好,更多的Python方法来访问循环计数器?我看到了一些与循环计数器有关的PEP,但它们要么被延迟要么被拒绝(PEP 212 和PEP 281)。 这是我的问题的简化示例。在我的实际应用程序中,这是通过图形完成的,整个菜单必须每帧重新绘制一次。但这以易于复制的简单文本方式进行了演示。 也许我还应该补充一点,我正在使用Pyt
问题内容: for (String fruit : list) { if(“banane”.equals(fruit)) list.remove(fruit); System.out.println(fruit); } 这是一个带有删除指令的循环。在执行时,我在控制台输出下得到一些ConcurrentModificationException: 问题:如何使用循环删除某些元素? 问题答案: 您需要
问题内容: 关于如何删除所有30天以上的行有很多问题,但是我找不到与我相同的东西,因此我可以修复它 我需要删除一些超过30天的邮件记录,带有日期的列名称命名为sendOn,并且该列中的行看起来像这样2018-01-12 12:25:00我应该如何格式化查询从表中删除包含30天以上的所有记录? 这会工作吗? 编辑:上面的查询工作,但非常非常慢以任何方式使其更快?我试过了now()但它给出了函数错误的
我对C很陌生,现在就在做中学习。在课堂材料中,我有以下功能: 几分钟前,我像这样使用了普通for循环:
我有一个基本的链表问题,我在下面试图解决。如果您能为我的方法、算法的正确性(甚至是编码风格)提供任何信息,我将不胜感激。该问题需要一个函数,该函数删除循环链表中所有出现的int,并返回列表中的任何节点或NULL(当列表为NULL时)。 以下是我目前掌握的一些C代码:
我当前正在将一个ArrayList转换为一个字符串,以便将其发送到一个DB,这样我就可以在另一端检索它,并稍后将其转换回一个ArrayList。 我的思路是通过执行以下操作将其转换为当前的字符串 是ArrayList,看起来如下所示: 当我查看数据库时,它看起来像这样 如何删除开头的和最后的以便在数据库上看起来像? 在另一端,我可以使用以下方法获得它: (我正在使用SQLite,这是我大学项目的一