如果用户至少填写了3个字段,请从mysql表中选择用户

时间:2014-03-22 16:39:45

标签: mysql

我有一个mysql用户表,用于保存用户数据:

userid | title     | content
----------------------------------
1      | about     | I am from ...
1      | location  | Norway
1      | name      | Mark
1      | website   | 
2      | about     | 
2      | location  | 
2      | name      | 
2      | website   | 
3      | ...

如您所见,content对于用户标识2为空,对于表中的更多用户也是如此。

我的目标是只选择至少填写3个字段的用户ID。所有其他人都应该被忽略。

由于我的mysql知识仍然很弱,我无法找到解决方案。我只发现了相反的情况,只有数:Find the count of EMPTY or NULL columns in a MySQL table

什么是神奇的mysql查询?感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用聚合和having子句:

select u.userId
from users u
where content > '' and content is not null
group by u.userId
having count(*) >= 3;

我添加了非空白支票以及null支票。 null检查是多余的,但它使意图更清晰。