mysql - 获取用户的最后一项活动

时间:2013-11-27 06:01:13

标签: php mysql sql android-activity

这个答案确实有效,但有问题。 User recent activities - PHP MySql

我的查询与

相同
(SELECT `user_id`, `date_added`, 'vote' AS `type` FROM `vote` WHERE `user_id` = uid) UNION
 (SELECT `user_id`, `date_added`, 'discussion' AS `type` FROM `discussion` WHERE `user_id` = uid) UNION
 (SELECT `user_id`, `date_added`, 'comment' AS `type` FROM `comments` WHERE `user_id` = uid)
 ORDER BY `date_added` DESC;

我的表格是投票,评论,讨论。使用此查询,我无法获得新插入的查询,但我得到的是最后一次 - 1次重复。我该如何处理这些查询呢?

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT V.user_id, V.date_added, V.vote
FROM vote AS V 
JOIN discussion AS D ON D.user_id=V.user_id
JOIN comments AS C ON C.user_id=V.user_id
ORDER BY V.date_added DESC

答案 1 :(得分:1)

您没有提供示例数据点供我们查看,但我认为问题可能是UNION正在删除重复数据并且您的数据点在多个表中可能相同?我只是根据有限的信息做出猜测。

我建议使用Union ALL而不是UNION,看看你得到什么数据。您可以阅读有关Union和UNION All here

的更多信息

谢谢!