我有一个包含四列的表: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。
感谢您的任何提示和建议! =)
答案 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();”
应该工作。
哦,等等,废话,我知道,你想要没有回应的次数。