当前位置: 首页 > 面试题库 >

计算一行中有多少个MySQL字段已填充(或为空)

符风畔
2023-03-14
问题内容

我需要将一种方法组合在一起,使我能够量化用户已填充一行中有多少个字段。

例如:

User    Name    Age    Country    Gender    Height
1       Mike    34     USA        Male      6
2       Bill    23     CA                   5
3       Jane    31     USA

在上面的示例中,我想查询数据库并返回一个反映用户记录完成程度的值。如:

User 1 = 100% complete
User 2 = 80% complete
User 3 = 60% complete

我想知道这是否需要通过SQL子句来完成,或者是否可以通过PHP SQL函数来查询数据库并计算完成程度。

有什么建议怎么做?我正在使用PHP 5(codeigniter)和SQL 5.0.77,但是任何发展蓝图都将不胜感激。


问题答案:
$result = mysql_query('SELECT * FROM `MyTable`');
while($row = mysql_fetch_row($result)){
    $empty_count = 0;
    $count = count($row);
    for($i = 0; $i < $count; $i++)
        if($row[$i] === '' || $row[$i] === 'NULL')
            $empty_count++;
    echo 'User '.$row[0].' = '.((int)(100*(1-$empty_count/($count-1)))).'% complete';
}


 类似资料:
  • 我正在使用pdfbox-1.8.12从PDF中读取内容以获取XFA。我已经能够成功地为大多数文件获取XFA,而没有遗漏任何字段值。 问题在于一些文件,如错误。pdf。我有许多字段没有像CIN这样的值,但当我在任何PDF查看器、foxit或Acrobat中打开文件时,它会显示该字段。 然后将字节[]转换为字符串。 这是此文件的xfa,如果您在此搜索“U72300DL1996PLC075672”,它将

  • 如何计算文本更改了多少? 例如以下文本: 与 这里的变化很小(末尾增加了x) 下面的变化很大: (此处我添加了“更多文本”) 我想到了测量字符串长度,并用它来计算变化百分比。但这种方法在以下情况下会出现问题: (几乎相同的长度,但完全不同的文本) 我怀疑很多人遇到了这个问题。但我似乎在谷歌上找不到太多,可能是因为不知道这项技术的名称是什么,它可以测量文本的变化。

  • 问题内容: 如何根据“ DateAdded”字段选择一个字段的使用天数? 例如: 问题答案: 使用: 参考:DATEDIFF DATEDIFF()返回expr1到expr2,表示为从一个日期到另一个日期的天数值。

  • 问题内容: 我如何定义一个具有两个计算字段的视图,例如… …并根据前两个计算字段创建第三个计算字段,如… …? 当我按名称引用前两个计算字段时,我收到一条消息,指出字段未知。 谢谢! 问题答案: 由于视图中不允许子查询,因此您需要通过创建多个视图来模拟它们。 例如,如果直接执行此查询,将解决您的问题: 根据MySQL文档,视图在FROM子句中具有不能包含子查询的限制。要变通解决此限制并将该查询转换

  • 问题内容: 我目前有一个表,用于存储大量项目的统计数据,例如视图,下载,购买等。为了对每个项目进行一次操作计数,我可以使用以下查询: 这给了我所有的内容以及他们的看法。然后,我可以将其他变量的“视图”更改为“购买”或“下载”。但是,这意味着对数据库的三个单独的调用。 一口气拿下所有三个都可以吗? 问题答案: 将返回一个表, 其中每个item_id和operation一行一行 ,包含三列:item_

  • 本文向大家介绍怎么实现一个计算一年中有多少周?相关面试题,主要包含被问及怎么实现一个计算一年中有多少周?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 首先你得知道是不是闰年,也就是一年是365还是366. 其次你得知道当年1月1号是周几。假如是周五,一年365天把1号 2号3号减去,也就是把第一个不到一周的天数减去等于362