Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择具有特定值的行之后的行_Mysql_Sql_Phpmyadmin_Logic - Fatal编程技术网

Mysql 选择具有特定值的行之后的行

Mysql 选择具有特定值的行之后的行,mysql,sql,phpmyadmin,logic,Mysql,Sql,Phpmyadmin,Logic,再说一次,我仍然有很多疑问和问题,所以请原谅我经常问的sql问题8) 无论如何,我试图选择一个特定值之后的行。 不明白?这就是它的实际外观 表:信息 +------------+-----------+---------+-------+---------------------------------------+----------------+------------------+ | message_id | thread_id | user_id | to_id | body

再说一次,我仍然有很多疑问和问题,所以请原谅我经常问的sql问题8)

无论如何,我试图选择一个特定值之后的行。 不明白?这就是它的实际外观

表:信息

+------------+-----------+---------+-------+---------------------------------------+----------------+------------------+
| message_id | thread_id | user_id | to_id | body                                  | message_status | uid_sent_deleted |
+------------+-----------+---------+-------+---------------------------------------+----------------+------------------+
|          1 |         1 |       1 |     7 | How are you bro?                      | read           |                1 |
|          2 |         1 |       7 |     1 | IM good what about you kenny?         | read           |                0 |
|          3 |         1 |       1 |     7 | Same just chilling how is your sister | read           |                1 |
|          4 |         1 |       7 |     1 | Shes coool u know just doin great     | read           |                0 |
|          7 |         1 |       1 |     7 | Thats nice                            | read           |                1 |
|          8 |         1 |       7 |     1 | Yupp                                  | read           |                0 |
|          9 |         1 |       1 |     7 | hhahaha                               | read           |                1 |
|         10 |         1 |       7 |     1 | anyways....                           | unread         |                0 |
+------------+-----------+---------+-------+---------------------------------------+----------------+------------------+
如果消息id为9,则在uid\U sent\U deleted列中的值为“1”。 我正在尝试选择uid\u sent\u deleted列中最后一行值为“1”之后的行

下面是我目前正在使用的sql。谢谢你的帮助

SELECT message_id, thread_id, messages.user_id, to_id, body, message_status, uid_sent_deleted
FROM messages
INNER JOIN messages_thread ON messages_thread.id = messages.thread_id
WHERE thread_id =1
GROUP BY messages.message_id
ORDER BY message_id ASC 

子查询可能有效,请选择uid\U sent\U deleted=1的MAX(消息\U id),然后加入。。。语法上有点模糊。

@Kenny这里不应该有threadid关联吗?
SELECT message_id, thread_id, messages.user_id, to_id, body, message_status, uid_sent_deleted
FROM
    (SELECT thread_id t_id, MAX(message_id) m_id
     FROM messages
     WHERE thread_id =1 and uid_sent_deleted = 1
     GROUP BY thread_id) n
inner join messages on messages.message_id > n.m_id and messages.thread_id = n.t_id
INNER JOIN messages_thread ON messages_thread.id = messages.thread_id
ORDER BY message_id ASC
LIMIT 1
SELECT message_id, thread_id, messages.user_id, to_id, body, message_status, uid_sent_deleted
FROM
    (SELECT thread_id t_id, MAX(message_id) m_id
     FROM messages
     WHERE thread_id =1 and uid_sent_deleted = 1
     GROUP BY thread_id) n
inner join messages on messages.message_id > n.m_id and messages.thread_id = n.t_id
INNER JOIN messages_thread ON messages_thread.id = messages.thread_id
ORDER BY message_id ASC
LIMIT 1