gpt4 book ai didi

python - 如何在 mysqldb 中获取 num 个结果

转载 作者:可可西里 更新时间:2023-11-01 07:34:52 25 4
gpt4 key购买 nike

我有以下查询:

self.cursor.execute("SELECT platform_id_episode, title, from table WHERE asset_type='movie'")

有没有办法获取直接返回的结果数?目前我正在做低效的事情:

r = self.cursor.fetchall()
num_results = len(r)

最佳答案

如果您实际上不需要结果,* 不要向 MySQL 索要它们;只需使用 COUNT :**

self.cursor.execute("SELECT COUNT(*) FROM table WHERE asset_type='movie'")

现在,您将返回一行,一列,其值是您的其他查询返回的行数。

请注意,我忽略了您的特定列,只是执行了 COUNT(*)COUNT(platform_id_episode) 也是合法的,但这意味着找到的具有非 NULL platform_id_episode 值的行数; COUNT(*) 是找到的行数。***


* 如果您确实需要结果……好吧,您必须调用fetchall() 或等效方法来获取它们,所以我看不到问题。

** 如果您以前从未在 SQL 中使用过聚合函数,请务必查看该页面上的一些示例;您可能从未意识到您可以如此简单(高效)地完成此类工作。

*** 如果有人教你“永远不要在 SELECT 中使用 *”,那是个好建议,但与此无关。 SELECT * 的问题在于它会以随机顺序在您的结果集中向所有列发送垃圾邮件,而不是按照您需要的顺序向您实际需要的列发送垃圾邮件。 SELECT COUNT(*) 不会这样做。

关于python - 如何在 mysqldb 中获取 num 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29711534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com