栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据最大值删除一行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据最大值删除一行

采用:

DELETe FROM TABLE t1        JOIN (SELECt MAX(jobPositonId) AS max_id FROM TABLE) t2  WHERe t1.jobPositonId  = t2.max_id

请注意,如果存在重复,则将删除 所有 具有该

jobPositonId
值的行。

关于1093错误的愚蠢之处在于,您可以通过在自引用之间放置一个子查询来解决它:

DELETe FROM TABLE WHERe jobPositonId = (SELECt x.id   FROM (SELECt MAX(t.jobPostionId) AS id FROM TABLE t) x)

说明

MySQL仅在使用

UPDATE
DELETE
语句时检查是否存在正在更新的同一表的一级子查询。这就是为什么将其放在第二级(或更深层)的子查询替代项中的原因。但这只是检查子查询-
JOIN语法在逻辑上是等效的,但不会触发错误。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号