我有一个表公司和一个表消息。现在我想向用户显示按最新消息排序的公司列表。因此,当一家公司向用户发送消息时,该公司位于列表顶部,直到另一家公司发送消息。
我对 android 版本使用了以下 sql 查询
SELECT * FROM (SELECT
c.id, c.title, c.otherfields
m.title as lastMessageIntro,
m.timestamp as lastMessageTimestamp,
CASE WHEN rm.read IS NULL THEN 1 ELSE rm.read END AS noNewMessage
FROM Company c
LEFT JOIN Message m ON c.id = m.id
LEFT JOIN Message rm ON c.id = rm.id AND rm.read = 0
WHERE m.id IS NOT NULL
ORDER BY m.timestamp) as t1
GROUP BY c.id
ORDER BY lastMessageTimestamp DESC;
我是 iOS 和 CoreData 的新手,无法执行此操作或类似操作。谁能指出我正确的方向?
提前致谢!