我必须对 SQL 中的给定结果使用 80/20。有一些可用的资源,但我仍然无法离题[重复]

Posted

技术标签:

【中文标题】我必须对 SQL 中的给定结果使用 80/20。有一些可用的资源,但我仍然无法离题[重复]【英文标题】:I have to use 80/20 on the given result in SQL. There are some resources available, but I am still not able to digress them [duplicate] 【发布时间】:2021-05-05 08:36:10 【问题描述】:
select o.user_id, liftime_orders from
((select distinct user_id from app_open
 WHERE DATE (TIMESTAMP 'epoch' + TIME*INTERVAL '0.001 second') BETWEEN CURRENT_DATE -30 AND CURRENT_DATE) a
JOIN

(select COUNT (distinct order_num) AS liftime_orders,user_id
from order_master_bi
group by 2
having  liftime_orders >=1
) o

ON a.user_id=o.user_id)

数据库是亚马逊红移

[他的查询结果]]:https://i.stack.imgur.com/pMThz.png

【问题讨论】:

显示的是一些示例表数据和预期结果 - 全部为格式化文本(无图像,无链接)。如果可以,请简化,以便为您提供帮助。 minimal reproducible example. 只需要在liftime_orders的基础上将用户(user_id)分成80:20即可。所以 3 列,1 列包含所有 user_id,接下来包含 80% 的用户,另一列包含 20% “划分用户”是什么意思?请举例说明您期望的输出结果(文本,而不是图片)。 终于得到了输出,有点类似这样:***.com/questions/49531392/… 这个问题完全不清楚,很可能是重复的。 【参考方案1】:

我从 *** 本身的先前答案中得到了答案。 请参考此链接:Divide the Table data randomly based on percentages

选择用户, MAX(rn) OVER () AS max_rnk, 案子 当 max_rnk * 0.8 = 1) o ON a.user_id = o.user_id)

【讨论】:

以上是关于我必须对 SQL 中的给定结果使用 80/20。有一些可用的资源,但我仍然无法离题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL:仅选择以给定间隔与其他结果分隔的值的行

SQL - 为给定列中的值获取另一列的值

SQL之group by 和 having

PHP:给定位置的国家和大陆[关闭]

如何从(0,0)开始以长度和角度获取2D坐标

获取每个月 SQL 的组的 MAX 值