MYSQL不用group by去重取最新

表aaa中有相同id不同时间czsj的单,去重取最新

SELECT
ssr1.*
FROM
aaa ssr1
LEFT JOIN aaa ssr2 ON ssr1.htbm = ssr2.htbm
AND ssr1.czsj < ssr2.czsj
WHERE
ssr2.id IS NULL
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,可以使用GROUP BY语句进行去重操作。GROUP BY语句将查询结果按照指定的字段分组,并返回每个分组的唯一值。通过这种方式,我们可以实现去重的效果。引用中提到了在MySQL中使用GROUP BY时,查询的字段必须是GROUP BY分组的字段和聚类函数。这意味着,除了分组字段外,查询中的其他字段必须使用聚类函数来进行计算或统计。而且,在MySQL 8.0之前,GROUP BY会默认根据分组字段对结果进行排序。在能够利用索引的情况下,MySQL会避免额外的排序操作,但当无法利用索引进行排序时,MySQL优化器就不得不选择通过使用临时表来实现GROUP BY并进行排序。 举个例子来说明,在一个名为t1的表中,假设我们有以下结构和数据: ``` CREATE TABLE `t1` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `c1` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8_general_ci', `c2` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8_general_ci', `c3` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8_general_ci', PRIMARY KEY (`id`) USING BTREE, INDEX `c` (`c1`, `c2`, `c3`) USING BTREE )ENGINE=InnoDB; INSERT INTO `t1` (`c1`, `c2`, `c3`) VALUES ('A', 'B', 'C'), ('A', 'B', 'D'), ('B', 'C', 'D'); ``` 现在,如果我们想要使用GROUP BY去重列c1的值,我们可以执行以下查询: ``` SELECT DISTINCT `c1` FROM t1; ``` 这将返回去重后的c1列的值:A和B。 需要注意的是,使用GROUP BY进行去重操作可能会影响查询的性能,特别是当表中的数据量非常大时,因为MySQL可能需要使用临时表进行排序。因此,在使用GROUP BY进行去重时,请确保你的查询语句和数据量都是可管理的,并且性能可以接受。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL - DISTINCT & GROUP BY 去重](https://blog.csdn.net/Dream_Weave/article/details/116848896)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MySQL——distinct与group by去重 / 松散索引扫描&紧凑索引扫描](https://blog.csdn.net/minghao0508/article/details/129783846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值