php - 计算*一个*行/记录中不同列中值的出现次数

标签 php mysql count

我在设置表格时可能以错误的方式执行此操作? 我正在使用 mysql 和 php。大量的 googleing 仅显示如何计算一个值在多行中出现的次数,我想检查许多不同列中但在同一记录中的值。 (我认为这:count number of columns that have data for each row 可能是同一件事,也许吧?但我不明白。)

我有一张表格,其中列出了我希望每天努力实现的目标。所以对于每一天,我都希望标记:“成功”或“失败”。插入效果很好。我一直在寻找一种方法来计算“今天”的成功次数和失败次数,以显示正确的笑脸类型,这将根据失败次数和成功次数而令人鼓舞或悲伤。

例如:

ID  date          drinkMoreWater    goToBedEarlier    callADearFriend
1   2012 jan 15   fail              fail              fail
1   2012 jan 16   success           _(still empty)    success

所以如果今天是 1 月 15 日,笑脸将非常非常悲伤。 如果今天是 1 月 16 日,笑脸会真的很开心,眼睛里有星星(至少在我未能实现目标 2 之前 ;))

最佳答案

您的表格实际上应该采用不同的结构以使您的生活更轻松:

Goals:
ID     Goal
1      drinkMoreWater
2      goToBedEarly
3      callADearFriend

Status:
ID     Status
1      Success
2      Fail

Tracking:
ID     Date      Goal_ID     Status_ID
1      1/1/2012  1           1
1      1/1/2012  3           2
1      1/2/2012  2           1
1      1/2/2012  4           1

现在您可以轻松添加目标和状态(例如“正在处理”),并且您的表结构不必更改以适应您的更改,您的查询也变得更加简单。

关于php - 计算*一个*行/记录中不同列中值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870831/

相关文章:

javascript - Facebook 分享链接计数

php - Google map 地理编码问题 : Certain Encoded URLs Failing

php - 飞镖游戏计算

MySQL + PHP 确保用户名唯一(后缀自增)

php - 在 Laravel 中计算后从 mysql 表检索 id 时出现问题

postgresql - 按日期分组,当 count() 不产生任何行时为 0

PHP 打包/部署

javascript - jQuery 与文档类型声明之前输出的文本进行交互

MySQL 连续查找上一集?

mysql - 将列中的项目计为行 MYSQL