擅长:python、mysql、java
<p>我现在尝试了一种完全不同的方法,使用了<code>join</code>,现在速度更快,它在10秒内完成查询,这花了60分钟</p>
<pre><code># males
paying_males_1 = male_users.join(Transaction_1, Transaction_1.user_id == Users.id).all()
paying_males_2 = male_users.join(Transaction_2, Transaction_2.user_id == Users.id).all()
paying_males_3 = male_users.join(Transaction_3, Transaction_3.user_id == Users.id).all()
males_payed_all = paying_males_1 + paying_males_2 + paying_males_3
males_payed_atleast_once = len(set(males_payed_all))
</code></pre>
<p>我只是连接每个表并使用<code>.all()</code>,结果很简单<code>lists</code>。在此之后,我合并所有列表并将它们键入<code>set</code>。现在我只有唯一的用户。最后一步是通过在<code>set</code>上使用<code>len()</code>对它们进行计数。在</p>