mysql 在全部用户中随机抽取十名用户

这是我自己收藏的sql,本人比较菜,sql有较大的优化,希望可以帮助到诸位一点吧,可以优化的可以留言谢谢

mysql  随机函数  RAND() LIMIT 10   随机抽取10位,

在所有用户中抽取10位可以这么写: select  user_name  from  table_name  ORDER BY RAND() LIMIT 10  最简单的写法

select * from 
(SELECT fd_user_phone AS fdUserPhone, fd_user_real_name AS fdUserRealName ,fd_user_identity AS fdUserIdentity     FROM tb_marathon_userinfo us
WHERE us.fd_user_id NOT IN
(select ss.fd_user_id FROM (SELECT u.fd_user_id FROM
tb_green_card g
LEFT JOIN tb_marathon_userinfo u ON g.fd_user_phone = u.fd_user_phone
GROUP BY g.fd_user_phone ORDER BY count(1) DESC limit 0,10) as ss) 
ORDER BY RAND() LIMIT 10) tab INNER JOIN 
(select fd_user_phone,count(fd_green_card_num) AS fdGreenCardCount from tb_green_card group by fd_user_phone) g on tab.fdUserPhone=g.fd_user_phone

猜你喜欢

转载自blog.csdn.net/Lenovozwq/article/details/81079588