我在mysql中有一个表,它的结构不正确。它是由以前的开发者开发的。中的表结构below:-
id (primary_key)
from_user_id (sender)
post_id (thread_id)
to_user_id (receiver)
Message (text_content)
datetime (mysql_timestamp)
假设我们的内部用户id(来自用户id)存在于预定义的数组中,即(4182193)。
因此,我只想得到上面数组中不存在的那些由用户最后回复的行。
我做了一个查询,但只返回一行。
你们能帮我一下吗?
我的问题是:-
SELECT *
from table
WHERE id IN (
SELECT MAX(id)
FROM table
where from_user_id not in (4,182,193)
)
GROUP BY post_id;
2条答案
按热度按时间dfty9e191#
对于get all the id not in your array,您应该选择所有id,而不仅仅是max和use
where id not in
.. 我也是。要进行比较,需要一个列名
des4xlb02#
为任何帖子选择最后一个id,然后将生成的id用作筛选器: