gpt4 book ai didi

sql - 在 Oracle sql 中选择带有子查询的随机记录

转载 作者:搜寻专家 更新时间:2023-10-30 22:26:45 24 4
gpt4 key购买 nike

当我尝试从 Oracle 数据库中将随机记录放入两个表时,其中一个表必须是 Order 和 order_detail。结果必须遵循一些条件,即订单有 3 个 order_detail 行,并且只是检索了一个随机订单。

这是我的代码:

SELECT order_id
FROM Oder
INNER JOIN order_detail
ON orderId.order_id = order_detail.FK_order_id
WHERE order_id IN
(SELECT order_detail.FK_order_id
FROM order_detail
GROUP BY FK_order_id
HAVING COUNT(FK_order_id) > = 3
)
ORDER BY (SYS.DBMS_RANDOM.VALUE);

我不知道在哪里放置 ROWNUM =1 以仅获取一条记录。

最佳答案

您必须在 SQL 中添加一个子查询 top 之后添加 ROWNUM,因为您正在按顺序添加 RANDOM,而 ORDER BY 是 SQL 的最后一个子句。因此,您还有一个级别的 SELECT,如下所示。

select order_id from (SELECT order_id
FROM Oder
INNER JOIN order_detail
ON orderId.order_id = order_detail.FK_order_id
WHERE order_id IN
(SELECT order_detail.FK_order_id
FROM order_detail
GROUP BY FK_order_id
HAVING COUNT(FK_order_id) > = 3
)
ORDER BY (SYS.DBMS_RANDOM.VALUE)) where rownum <=1;

关于sql - 在 Oracle sql 中选择带有子查询的随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196383/

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