gpt4 book ai didi

mysql - 按随机非空条目分组

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

我有一个像这样的表usercolor:

 id  | idUser  | color
-----------------------
1 | 1 | red
2 | 1 | blue
3 | 2 | green
4 | 2 | blue
5 | 3 | null
6 | 3 | blue
7 | 4 | null

我希望为每个idUser提供一种随机的拟合颜色,只要有可能,该颜色就不为空。像这样:

idUser | color
---------------
1 | blue
2 | green
3 | blue
4 | null

我认为我可以通过以下方式实现

SELECT idUser, color FROM usercolor GROUP BY idUser

但是,使用此 SQL 时,idUser 3 可能会被映射到 null,尽管 idUser 存在蓝色。我怎样才能防止这种情况发生呢?

最佳答案

如果您希望每个用户使用一种随机颜色,那么就会想到相关子查询:

select idUser,
(select uc.color
from usercolor uc
where uc.idUser = u.idUser and uc.color is not null
order by rand()
limit 1
) as color
from (select distinct idUser from usercolor) u -- you can use `users` here instead

关于mysql - 按随机非空条目分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40894984/

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