当前位置: 首页 > 面试题库 >

SQL查询以选择除最大值以外的所有内容

上官华池
2023-03-14
问题内容

我有一个相当复杂的查询,它从三个表中获取数据,现在我希望它变得更加复杂(哦,亲爱的)!

我希望最后发布的功能显示在页面的自己的部分中,通过选择表中的最后一个条目,这很容易。但是,对于复杂的查询(网站的主页),我希望不能显示此功能。

我想union将以下查询恢复为上一个查询,但未返回正确的结果:

SELECT
    features.featureTitle AS title, 
    features.featureSummary AS body, 
    features.postedOn AS dummy, 
    DATE_FORMAT( features.postedOn,  '%M %d, %Y' ) AS posted, 
    NULL, 
    NULL, 
    staff.staffName, 
    features.featureID 
FROM 
    features 
    LEFT JOIN staff ON 
        features.staffID = staff.staffID 
WHERE features.postedOn != MAX(features.postedOn)
ORDER BY dummy DESC LIMIT 0,15

该查询返回以下错误:

MySQL错误:#1111-无效使用组函数

有没有办法解决?


问题答案:

max查询需要在其自己的子查询中,因此您的最终SQL应该是::

SELECT features.featureTitle AS title,
    features.featureSummary AS body, 
    features.postedOn AS dummy,
    DATE_FORMAT( features.postedOn,  '%M %d, %Y' ) AS posted,
    NULL,
    NULL,
    staff.staffName,
    features.featureID 
FROM 
    features 
    LEFT JOIN staff ON 
        features.staffID = staff.staffID
WHERE
   features.postedOn != (select max(features.postedOn) from features)


 类似资料:
  • 问题内容: 我有两个mysql表。 第一个称为“选择”,由id,user_id和widget_id字段组成。 另一个称为“小部件”,包括widget_id等几项内容。 我创建了一个过滤器,以便用户可以显示他/她选择的小部件,也可以显示他/她没有选择的小部件。对于他选择的人,我使用以下方法: 但是,我不知道如何显示他/她没有选择的内容。这不起作用(显示所有内容): 我该怎么做呢? 问题答案: 使用N

  • 问题内容: 我有一个如下查询: 结果如下:中心名称和交换数量 我喜欢从此结果(第二行)中选择最大值,除了排序和选择第一行之外,还有谁能帮助我进行MAX查询。 问题答案: 那应该工作

  • 问题内容: 如何在CSS表中选择除第一个元素以外的所有元素? 我尝试使用此方法,但发现它不起作用。 问题答案: 通过将类添加到第一个或后续的s中。没有单独使用CSS来选择所需行的跨浏览器方法。 但是,如果您不关心Internet Explorer 6、7或8:

  • 问题内容: 是否可以选择除一列之外的所有列? 这是所有列名称:ID,名称,地址,年龄 我不想使用此select语句,因为我的表的列数彼此不同。 问题答案: declare @cols varchar(max), @sql varchar(max) SELECT @cols = STUFF ( ( SELECT DISTINCT ‘], [‘ + name FROM sys.columns wher

  • 问题内容: 有没有一种方法可以选择某个表的列名,只有那些具有空值的列除外,而不知道该表有多少列。 应导致: 谢谢! 问题答案: 创建具有以下内容的存储过程:

  • 问题内容: 我正在尝试使用select语句从某个MySQL表中获取除一个以外的所有列。有没有简单的方法可以做到这一点? 编辑:此表中有53列(不是我的设计) 问题答案: 实际上有一种方法,您当然需要具有执行此操作的权限… 更换