新闻源的Mysql ORDER BY或GROUP BY

新闻源的Mysql ORDER BY或GROUP BY,mysql,database,select,group-by,sql-order-by,Mysql,Database,Select,Group By,Sql Order By,我想创建一个类似于Facebook新闻源的东西:一个跟踪其他人的人在顶部看到他们最后的帖子。我使用这个查询作为db select查询,但它有一些问题 有人有什么想法来改进这个查询吗 以下是此查询的重要表: ______ | wall | ------------------------------------------------------------------------------------- postID | inserterID | sportID | catID | titl

我想创建一个类似于Facebook新闻源的东西:一个跟踪其他人的人在顶部看到他们最后的帖子。我使用这个查询作为db select查询,但它有一些问题

有人有什么想法来改进这个查询吗

以下是此查询的重要表:

 ______
| wall |
-------------------------------------------------------------------------------------
postID | inserterID | sportID | catID | title|insertDate|context|abstraction|editeDate
-------------------------------------------------------------------------------------
|follower|
---------------------
ID | foerID | foingID
---------------------

SELECT wall.postID
     , wall.inserterID 
     , wall.title 
     , wall.insertDate 
     , wall.editDate 
     , wall.context 
     , user.lastName 
     , cat.catName 
     , wall.catID 
     , pic.picname AS  pic
     , foerID
  FROM wall 
  JOIN user 
    ON user.userID = wall.inserterID 
  JOIN postcategory  cat 
    ON cat.catID = wall.catID 
  LEFT 
  JOIN wallpic pic 
    ON pic.postID = wall.postID 
  LEFT 
  JOIN follow 
    ON follow.foingID = wall.inserterID
 WHERE wall.inserterID != 71
 GROUP 
    BY wall.postID
 ORDER 
    BY follow.foerID IN (71) DESC 
     , wall.insertDate DESC
 LIMIT 0,100

你在问什么?它有什么问题意味着什么?改善意味着什么?如果您希望优化查询,那么我们需要带索引的完整模式以及对当前查询的解释。如果它坏了,请解释原因。我想要像facebook newsfeed这样的东西,在这种情况下,改进意味着任何有助于我的东西:,我的查询不会返回预期结果,例如:follower跟踪了两个ID分别为70和2的人,我想返回将这两个inserterID放在其他人顶部的帖子,但它返回了一些与其他人一起插入的其他职位,而不是70和1。我能把事情弄清楚吗?还是应该解释更多?你在滥用MySQL组的扩展。这使得我们和服务器都无法告诉您要做什么。请阅读:@AndySavage请看上面的解释您有一个GROUPBY子句,但没有聚合函数。这不会顺利进行:-