如何跳过空白表行并仅随机显示空行

时间:2019-08-14 09:01:22

标签: mysql sql random

我有一个带有会员部分的网站,用户可以在其个人资料中包括会员链接。网站的首页应一次显示一个会员链接,并在设置会员链接的用户中轮换显示。我的服务器正在运行php5.6

我尝试通过以下几种方式将rand()IS NOT NULL结合使用,以从网站的SQL数据库中选择用户:

SELECT * FROM users IS NOT NULL ORDER by rand() LIMIT 1;

但出现错误。我也尝试过

SELECT leads ORDER by rand() FROM users IS NOT NULL LIMIT 1;

仍然没有结果。

SELECT * FROM users IS NOT NULL  LIMIT 1; 

它可以工作,但不会随机选择空数据。

我一直收到以下错误:

  

错误:无法执行SELECT * FROM users NOT NULL ORDER   通过rand()LIMIT 1.您的SQL语法有错误;检查   与您的MySQL服务器版本相对应的手册   在第1行的'IS NOT NULL ORDER by rand()LIMIT 1'附近使用的语法

在下面并不会给出错误,但不能满足我的要求。

SELECT leads IS NOT NULL FROM users ORDER by rand() LIMIT 1;

1 个答案:

答案 0 :(得分:0)

您在检查NOT NULL时遇到问题。您必须在WHERE子句中检查NULL,也必须通过特定的列名检查。您可以根据需要在WHERE子句中添加1或Multiple甚至All列。请按以下方式尝试-

SELECT * FROM users 
WHERE column_name1 IS NOT NULL 
AND column_name2 IS NOT NULL 
-- You can add here more columns 
-- using AND or OR depending on what you wants to check.
ORDER BY RAND() LIMIT 1