gpt4 book ai didi

sql - 每个字段的限制

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

假设我们有这样一个 sql 查询,其中包含来自另一个表的连接数据。

SELECT 
pr.num, pr.resort_id, p.src_mask
FROM
rutraveler.rt_photo_resort AS pr
JOIN rutraveler.rt_photo AS p ON pr.photo_id = p.id
WHERE pr.resort_id = '612' AND p.src_mask is not null
ORDER BY num
LIMIT 30

到目前为止,我们必须对几个 resort_id 进行多次查询。
如何更改查询,以便我们只有一个查询(WHERE resort_id in (612, 333, 111),每个 resort_id 结果不超过 30 项?

最佳答案

使用 ROW_NUMBER 计算每个 resort_id 的行数。

SELECT resort_id, num, resort_id, src_mask 
FROM
(
SELECT
pr.resort_id, pr.num, pr.resort_id, p.src_mask,
ROW_NUMBER() OVER (PARTITION BY pr.resort_id ORDER BY num) AS rn
FROM
rutraveler.rt_photo_resort AS pr
JOIN rutraveler.rt_photo AS p ON pr.photo_id = p.id
WHERE resort_id in (612, 333, 111) AND p.src_mask is not null
) data
WHERE rn <= 30
ORDER BY resort_id, num;

关于sql - 每个字段的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37920295/

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