gpt4 book ai didi

Mysql 选择查询 3 :2 ratio

转载 作者:行者123 更新时间:2023-11-29 23:24:43 28 4
gpt4 key购买 nike

我正在处理一个有趣的查询。有一个如下所示的表,并希望根据其登录状态以 3:2 的比例选择 30 行。例如:在 30 个用户中,活跃用户 - 应该是 18 个,非活跃用户 - 应该是 12 个。因此,每 3 个活跃用户我应该得到 2 个不活跃用户,最终总数应该是 30 个。

有人可以提供一些关于如何实现所需结果的想法吗?

user_ref_id   last_login            login_status
28369 2014-06-04 01:56:15 Not Active
11693 2013-10-09 00:19:17 Not Active
12566 2014-11-08 12:13:37 Active
9618 2014-11-15 17:04:47 Active
10270 2013-10-09 05:57:00 Not Active
20832 2014-01-24 07:24:46 Not Active
19297 2014-11-20 18:57:59 Active
14333 2014-01-23 23:24:37 Not Active
14785 2013-11-09 11:12:49 Not Active
18325 2014-04-12 22:54:10 Not Active
14748 2013-11-07 08:03:34 Not Active
20606 2014-05-20 04:30:35 Not Active
11812 2014-11-08 17:42:06 Active
15688 2013-11-18 04:43:23 Not Active
14949 2013-11-18 11:07:42 Not Active
18224 2014-11-08 16:30:41 Active
12202 2013-12-13 23:01:40 Not Active
20309 2014-03-13 06:37:51 Not Active
15089 2014-10-18 17:36:46 Not Active
10709 2014-09-24 22:31:11 Not Active
18539 2014-11-05 17:48:12 Active
11350 2013-10-07 23:50:51 Not Active
13134 2014-10-18 14:29:18 Not Active
13636 2014-09-12 17:20:03 Not Active
15246 2014-11-17 00:28:34 Active
16900 2013-11-25 03:28:38 Not Active
15584 2014-10-22 19:11:16 Active
16615 2014-10-14 17:55:39 Not Active
19610 2013-12-17 02:38:26 Not Active
20283 2014-09-27 07:34:51 Not Active

最佳答案

这是使用 union 的一种方法,它给出具有不同状态的随机行。

(select * from table1 where login_status='Active'
order by rand()
limit 18)
union
(select * from table1 where login_status='Not Active'
order by rand()
limit 12)

关于Mysql 选择查询 3 :2 ratio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054996/

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