我对SQL很陌生,但试图修正SQL-Query的输出。然而,这个问题并不涉及这个bug,而是为什么SQLite3在它应该时不会产生错误。为什么SQLite3不会产生错误
我有查询字符串,看起来像:
QueryString = ("SELECT e.event_id, "
"count(e.event_id), "
"e.state, "
"MIN(e.boot_time) AS boot_time, "
"e.time_occurred, "
"COALESCE(e.info, 0) AS info "
"FROM events AS e "
"JOIN leg ON leg.id = e.leg_id "
"GROUP BY e.event_id "
"ORDER BY leg.num_leg DESC, "
"e.event_id ASC;\n"
)
这将产生没有错误的输出。
我不明白为什么当我GROUP BY e.event_id和e.state和e.time_occurred不包含聚合函数并且不是GROUP BY语句的一部分时没有错误?
e.state是一个字符串列。 e.time_occurred是一个整数列。
我在Python中使用QueryString。
这是SQLite和MySQL的“特性”。在MySQL中,您可以使用服务器中的严格模式设置进行更正。也许在SQLite中也是如此... –
好的......你能详细说明这个功能的预期系统行为吗? – Orpedo