回答

收藏

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

技术问答 技术问答 264 人阅读 | 0 人回复 | 2023-09-14

我有一个非常复杂的查询。它从三个表中获取数据。现在我希望它更复杂(哦,亲爱的)!
( P, m% |- `* C8 v我希望最后一个功能显示在页面本身的部分,通过选择表中的最后一个项目,这很容易。然而,我希望这个功能不能显示为复杂的查询(网站的主页)。
. T4 x% c8 f- T( O我想union将以下查询恢复为上一个查询,但未返回正确结果:
# C2 F; i# w% z* I1 zSELECT    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查询返回以下错误:
! L  o7 R6 W  XMySQL错误:#1111-组函数无效使用% H" ?$ Y: b$ q6 {7 n6 z, ]
有没有办法解决?( h' Q. F' i. e" I$ r2 w
                                                                5 ~( i/ v2 j: z2 P6 f6 ~
    解决方案:                                                               
9 y- o( L; Y1 _: e7 `                                                                该max查询需要在其自己的子查询中,因此您的最终SQL应该是::
; m! }! E9 U" g6 z9 vSELECT 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.staffIDWHERE   features.postedOn != (select max(features.postedOn) from features)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则