- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我正在处理的电影数据库项目中,每个用户都有一个事件提要。我想将类似的事件归为一组,例如 Facebook 的做法,但略有不同。
例如,如果用户为一部电影写了评论,一分钟后他也为该电影投票,5 分钟后他上传了该电影的预告片,我想在事件提要中一起(分组)展示.
我认为最好是在查询数据库时将其分组,但我认为在这种情况下不可能,因为我使用了一个非常大的 JOIN 来获取所有数据:
SELECT ua.datetime, ua.imdbID, ua.personID, sa.activityID, sa.activity, m.title, m.year, p.name, umv.vote, upv.vote, r.review, t.youTubeID, ps.filename, ph.filename
FROM user_activity ua
JOIN sys_activities sa ON ua.activityID = sa.activityID
LEFT OUTER JOIN movies m ON ua.imdbID = m.imdbID
LEFT OUTER JOIN persons p ON ua.personID = p.personID
LEFT OUTER JOIN user_movies_vote umv ON umv.userID = ua.userID AND umv.imdbID = ua.imdbID
LEFT OUTER JOIN user_persons_vote upv ON upv.userID = ua.userID AND upv.personID = ua.personID
LEFT OUTER JOIN reviews r ON r.userID = ua.userID AND r.imdbID = ua.imdbID
LEFT OUTER JOIN (
select imdbID, userID, youTubeID, max(hd) as MaxTrailerStatus
from trailers
group by imdbID
) t ON ua.imdbID = t.imdbID AND ua.userID = t.userID
LEFT OUTER JOIN (
select imdbID, filename, max(main) as MaxPosterStatus
from posters
group by imdbID
) ps ON ua.imdbID = ps.imdbID
LEFT OUTER JOIN (
select personID, filename, max(main) as MaxPhotosStatus
from photos
group by personID
) ph ON ua.personID = ph.personID
WHERE ua.userID = ?
ORDER BY ua.datetime DESC
我想知道如何通过修改查询或使用 PHP 来实现。谢谢。
最佳答案
您可能会根据正在修改的项目的项目 ID 进行分组 - 在本例中类似于:ua.imdbID。
一旦这样做,您就会丢失其他数据行,因此您将使用 GROUP_CONCAT 来获取所有相关的 ID。
GROUP_CONCAT(sa.activityID);
所以你的最终结果是:
SELECT ua.datetime, ua.imdbID, ua.personID, GROUP_CONCAT(sa.activityID), sa.activity, m.title, m.year, p.name, umv.vote, upv.vote, r.review, t.youTubeID, ps.filename, ph.filename
FROM user_activity ua
JOIN sys_activities sa ON ua.activityID = sa.activityID
LEFT OUTER JOIN movies m ON ua.imdbID = m.imdbID
LEFT OUTER JOIN persons p ON ua.personID = p.personID
LEFT OUTER JOIN user_movies_vote umv ON umv.userID = ua.userID AND umv.imdbID = ua.imdbID
LEFT OUTER JOIN user_persons_vote upv ON upv.userID = ua.userID AND upv.personID = ua.personID
LEFT OUTER JOIN reviews r ON r.userID = ua.userID AND r.imdbID = ua.imdbID
LEFT OUTER JOIN (
select imdbID, userID, youTubeID, max(hd) as MaxTrailerStatus
from trailers
group by imdbID
) t ON ua.imdbID = t.imdbID AND ua.userID = t.userID
LEFT OUTER JOIN (
select imdbID, filename, max(main) as MaxPosterStatus
from posters
group by imdbID
) ps ON ua.imdbID = ps.imdbID
LEFT OUTER JOIN (
select personID, filename, max(main) as MaxPhotosStatus
from photos
group by personID
) ph ON ua.personID = ph.personID
WHERE ua.userID = ? GROUP BY ua.imdbID
ORDER BY ua.datetime DESC
关于php - 用户事件提要(ala facebook)。如何对相似的事件进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115337/
是否可以让类型成为类型类的一部分?像这样的东西: class KeyTraits v where keyType :: * key :: v -> keyType data Table
有谁知道如何在 Assets 库中重新排序 Assets ? ALAsset 是否有类似 order 属性的东西,我可以使用它来更改 Assets 的顺序?枚举 Assets 时的默认顺序是什么? 最
我有一个关于像 Reddit 这样的书签网站如何管理用户记录的所有“投票”的问题。 例如,当我(User_ID_292929)逻辑上对数据库中的某个帖子(Post_ID_282828)进行投票时,它表
最近我一直需要实现生成一堆数字的小类。如果 C++ 有像 python 这样的生成器,那将是非常方便的,但不幸的是,事实并非如此。 所以我一直在思考如何最好地实现这些类型的对象,以便于迭代和组合。当我
我正在尝试在我的 Windows 7 机器上安装 Insight Debugger,但没有成功。 我安装了 cygwin 完整包,并下载了 insight 的源代码。我正在按照 this tutori
Java 语法中有一部分让我很烦:那就是花括号和分号。是否存在某种允许我使用除此之外的所有 Java 语法的翻译器?我想做这样的事情: public class Hello: public s
在 MATLAB 中可以创建 function handles用类似的东西 myfun=@(arglist)body 这样您就可以随时随地创建函数,而无需创建 M 文件。 在 Python 中是否有一
在 ruby 中你可以去 a = { } a['a'] = 82 a['b'] = 'foo' puts a['a'] # 82 我希望我可以使用点符号,例如 javascript。 将 a.a #
不确定标题是否适合这个问题,但我想不出任何其他方式来表达它.. 假设您想创建多个不同的 Web 应用程序,但您希望已登录一个应用程序的用户无需重新登录即可直接访问您的另一个应用程序(假设他们也有查看其
我想采用几个简单的关系数据库并将它们切换为使用 Azure 表存储,而不是简单地将它们放入 SQLAzure。我总是使用 ORM 生成的代码来访问我的数据库(在本例中为 LLBLgenpro)。是否有
我喜欢 StackOverflow 处理标签的方式。是否有任何 jQuery 插件可以重复该行为? 我找到了这个jQuery Tag Suggest但它还没有那么好。 有什么建议吗? 最佳答案 jQu
我最近花了一些时间玩了一个名为 Draw Something(Android,iOS)的游戏。我喜欢这样的方式,一个玩家可以在屏幕上绘图,然后为第二个玩家重新创建绘图。我想在我的网站上使用类似的东西,
如何模仿 Apple.com 的介绍动画,该动画首先用于更新后的 MacBook Air,目前用于 iPad 2? 最佳答案 我会做以下事情: 创建网站,一切正常显示 将 display: hidde
关于如何向下移动像顶部的苹果栏这样的 div 有什么想法吗? (jQuery 或其他库?) 示例:http://www.apple.com/ipad/guided-tours/ 最佳答案 Apple
关于 SortedMap.subMap 这是 SortedMap.subMap 的 API : SortedMap subMap(K fromKey, K toKey) : Returns a vie
我是第一次使用该引擎,对 iOS 开发还很陌生。我很好奇是否有办法在我登录成功后调用函数?我似乎无法让它按照 FBConnect 在初始登录功能后调用 fbDidLogin 的方式工作。我声明了 MG
在我正在处理的电影数据库项目中,每个用户都有一个事件提要。我想将类似的事件归为一组,例如 Facebook 的做法,但略有不同。 例如,如果用户为一部电影写了评论,一分钟后他也为该电影投票,5 分钟后
有人知道在 javascript 中执行矩阵指数的现有代码吗? 或者,如果没有,编写类似内容的“最佳实践”是什么?我已经习惯了 C++ 和 Matlab,最近几天只是尝试着破解一些 WebGL 的东西
我有四组数据: A=range(10,20) B=range(5,17) C=range(15,25) D=range(18,30) sets = [A, B, C, D] 我想做的是获取交集的内容被
这可能是一个毛茸茸的问题,但是。说我有 Followers: -user_id -follower_id Activities: -id -user_id -activity_type -node_i
我是一名优秀的程序员,十分优秀!