2015-04-12 17 views
1

我有一个MySQL数据库,我正在使用它作为一个注册(即人A在这里,人B不是等等......)已经过了好几天了。MySQL计数行中出现的一个字

我想确定每个人在场的次数,所以基本上统计单词“Present”出现在一行中的次数。

任何想法?

enter image description here

+0

阅读有关规范化以获取数据库设计权限的内容。 –

+0

juergen d - 我知道正常化,你认为这是完全正常化吗? – Jukesy

回答

1

使用规范化表设计这些表

persons table 
------------- 
id 
name 
... 


registration table 
------------------ 
person_id 
date 
status 

然后你可以指望一个人有多少天是现有的,例如在目前的一周,这样

select sum(status = 'present') as present_days 
from persons p 
join registration r on r.person_id = p.id 
where yearweek(r.date) = yearweek(curdate()) 
and p.name = 'tom' 
+0

谢谢Juergen,这真的很有帮助!我没有考虑过这样做! – Jukesy

相关问题