php - MySQL:后续出现的次数

标签 php mysql count

我有一个包含四列的表格:id、from、to、msg。

行可以是这样的:

1 - foo - bar - hello
2 - foo - bar - zup?
3 - bar - foo - hi
4 - bar - foo - going okay
5 - bar - foo - you?

现在我想知道“bar”有多少次试图与“foo”“交谈”而没有得到回应。就像我想计算自“foo”在发送端以来出现的次数。

在此示例中,在下一个条目之前,它应该返回 3。

在纯 (My)SQL 中这可能吗?

我在服务器端使用 php。

感谢任何提示和建议! =)

最佳答案

试一试。

它假定表名为 convo 并且 id 是自动递增的。

这只是 mysql,但如果将其包装在传入 from 和 to 变量的函数中,则可以非常干净地添加 PHP 调用。

SELECT 
  count(*) AS unreplied
FROM
  `convo`
WHERE
  `convo`.`from` = 'bar' AND
  `convo`.`to` = 'foo' AND
  `convo`.`id` > (SELECT
                    id
                  FROM
                    `convo`
                  WHERE
                    `convo`.`from` = 'foo' AND
                    `convo`.`to` = 'bar'
                  ORDER BY
                    `convo`.`id` DESC
                  LIMIT 1)

关于php - MySQL:后续出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495242/

相关文章:

PHP 如何实例化一个内部类

php - 获取逗号分隔字符串中的最后一个值

php - 从 MySQL 中选择最新结果,其中有超过 1 行匹配 ID

python - Pandas value_counts() 中的值分组

php - 如何更新数据库中的json字段laravel?

php - MySQL自增不重复

mysql - 我应该在 mysql 中对哪些语言使用 SET NAMES?

php - 类之间能否保持PDO连接?

mysql - 如何在多个表中选择值?

hadoop - hive -标签计数