我有一个看起来像这样的MYSQL表
| id | User | Message |
_______________________
| 1 |John | Hello Peter
| 2 |Peter | Hello John
| 3 |Peter | How are you?
我需要找到这样的查询:
选择最后一行并获取用户名和消息(第3行),然后减去1(第2行) 如果用户名与第3行和第2行相同,则只返回第2行的消息。
有人能帮助我吗?
答案 0 :(得分:0)
如果您通过PHP为此提供支持,那么您是否必须将条件应用于SQL查询?
在PHP中你会做这样的事情
<?php
$lastUser = '';
while (/* read next row */) {
$user = $row['User'];
$message = $row['Message'];
if ($user == $lastUser) {
$return = $message;
} else {
$return = "$user: $message";
}
$lastUser = $user;
echo $return . '<br/>';
}
其中while()子句依赖于你的mysql适配器(迭代一些PDO结果,或只是一个mysql_fetch_array())。
答案 1 :(得分:-1)
它可能适合您,如果多个用户相同,则始终返回表中的第一个用户。 用户从表组中选择id,User,Message。