首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在有内部连接的请求中,“`ORDER”之前的“`GROUP”?

在有内部连接的请求中,“`ORDER”之前的“`GROUP”?
EN

Stack Overflow用户
提问于 2014-10-28 16:46:53
回答 4查看 6.5K关注 0票数 0

最初,我需要构建一个查询,从一个按最新sites (articles放在单独表中的日期)排序的表中提取articles

我构建了以下查询:

代码语言:javascript
复制
SELECT *
FROM `sites`
INNER JOIN `articles` ON `articles`.`site_id` = `sites`.`id`
ORDER BY `articles`.`date` DESC
GROUP BY `sites`.`id`

我假设SELECTINNER JOIN将获取所有的帖子,并将一个站点关联到每个站点,而ORDER BY将通过降低发布日期来排序结果,而GROUP BY将对每个站点进行第一次发布,而我将得到所需的结果。

但是我收到了#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BYsites.idLIMIT 0, 30' at line 7的MySQL错误

如果我将GROUP BY 放在 ORDER BY语句之前,则查询工作正常,但它不会为每个站点提供最新的帖子。相反,结果将在分组之后()排序,这不是我所需要的(实际上,我更愿意在分组后以另一种方式订购)。

我读到了几个非常相似的问题,但它们都与存储在一个表中的数据有关,因此可以使用MAXMIN函数。

我应该做些什么来实现我所需要的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-29 09:04:59

最后我找到了解决办法。

首先,我将主查询从sites表更改为articles查询。接下来,我将MAX(date)列添加到结果中。

因此,实现所需内容的结果查询如下:

代码语言:javascript
复制
  SELECT `sites`.`url`,MAX(`articles`.`date`) AS `last_article_date`
  FROM `articles`
  INNER JOIN `sites` ON `sites`.`id` = `article`.`site_id`
  GROUP BY `site_id`
  ORDER BY `last_article_date` ASC

感谢你们给我提示和正确的搜索方向!

票数 0
EN

Stack Overflow用户

发布于 2014-10-28 17:30:34

您可以使用子查询/派生表/内联视图或自排除连接,例如:

代码语言:javascript
复制
SELECT s.*, a1.*
FROM `sites` s
    INNER JOIN `articles` a1 ON a1.`site_id` = s.`id`
    LEFT OUTER JOIN `articles` a2 ON a2.`site_id` = a1.`site_id`
        AND a2.`date` > a1.`date`
WHERE 
    a2.`site_id` IS NULL
ORDER BY 
    a1.`date` DESC

原则是,您选择的网站的文章日期不大于任何其他文章日期。

票数 1
EN

Stack Overflow用户

发布于 2014-10-28 17:01:00

将sql重写为以下语法-

代码语言:javascript
复制
SELECT `articles`.`article_name`,'sites'.'id','articles'.'site_id'
FROM `sites`,'articles'
WHERE `articles`.`site_id` = `sites`.`id`
ORDER BY 'sites'.'id', `articles`.`date` DESC;

在select语句中这样做。按函数分组要求对所有字段进行分组。因此,不可能使用*。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26613882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档