MySQL:后续出现的次数

时间:2010-12-21 00:19:11

标签: 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?

现在我想知道有多少次“酒吧”试图在没有回应的情况下与“foo”“交谈”。就像我想计算“foo”在发送端的出现次数一样。

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

这在纯(我的)SQL中是否可行?

我在服务器端使用php。

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

3 个答案:

答案 0 :(得分:1)

var1 = select id from table where fromname = "user1" and toname = "user2" order by id desc limit 1
var2 = select id from table where fromname = "user2" and toname = "user1" order by id desc limit 1

return var2-var1;

答案 1 :(得分:1)

放手一搏。

它假定表名为 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)

答案 2 :(得分:-1)

$ sql =“SELECT`fieldone` FROM`table` WHERE`fieldone` ='foo'”;

$ results = mysql_query($ sql);

$ FooSendNumber = mysql_num_rows($ results);

$ FooSendNumber = mysql_num_rows(mysql_query($ sql));

哦等等,你也希望看到纯粹的MySQL。

是的,有可能:

$ sql =“SELECT MYSQL_CALC_FOUND_ROWS`fieldone` FROM`table` WHERE`fieldone` ='foo'; SELECT FOUND_ROWS();”

应该工作。

哦,等等,废话,我知道,你想要没有回应的次数。