gpt4 book ai didi

mysql - 选择随机行,但不重复另一列中的值

转载 作者:行者123 更新时间:2023-11-29 09:49:00 25 4
gpt4 key购买 nike

我有以下查询,它给了我 3 个随机名称、ids 和 top_tags:

SELECT  Name
, id
, top_tag
FROM artists
WHERE not find_in_set (id,'1,2,3,4')
order
by rand()
limit 3

它工作正常,但是,我确实需要另一个条件。我有一个列名称 top_tag (int),我需要结果包含 3 个唯一的 top_tag 值,而不是 top_tag 的重复项。

最佳答案

在 MySQL 8+ 中,您将使用窗口函数:

SELECT Name, id, top_tag 
FROM (SELECT a.*, ROW_NUMBER() OVER (PARTITION BY top_tag ORDER BY rand()) as seqnum
FROM artists a
WHERE id NOT IN (1, 2, 3, 4)
) a
WHERE seqnum = 1
LIMIT 3;

关于mysql - 选择随机行,但不重复另一列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55168879/

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