MySQL 分组后取每组ID最大的行

1、表结构及插入数据

DROP TABLE IF EXISTS `listings`;

CREATE TABLE `listings` (
  `store_id` int(11) DEFAULT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

LOCK TABLES `listings` WRITE;
/*!40000 ALTER TABLE `listings` DISABLE KEYS */;

INSERT INTO `listings` (`store_id`, `id`, `product_id`)
VALUES
    (3,1,1),
    (3,2,2),
    (3,3,1),
    (3,4,1),
    (3,5,2);

/*!40000 ALTER TABLE `listings` ENABLE KEYS */;
UNLOCK TABLES;

2、查看表数据

select product_id, store_id, id from listings;
表中数据

3、查询store id 为3,product_id 分别为1和2里ID最大的行数据

select product_id,store_id,max(id) id from listings where product_id in (1,2) and store_id = 3 group by product_id;
查询结果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.数据库简介 人类在进化的过程中,创造了数字、文字、符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,...
    大熊_7d48阅读 3,604评论 0 1
  • 1.MySQL数据库 2.SQL语句 第一节课 ###1(MySQL数据库)数据库概念.avi 5...
    码了个农啵阅读 4,994评论 1 16
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 11,002评论 0 9
  • 一、数据库概述 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户...
    圣贤与无赖阅读 9,375评论 0 4
  • 我希望有个如你一般的人。如这山间清晨一般明亮清爽的人,如奔赴古城道路上阳光一般的人,温暖而不炙热,覆盖我所有肌肤。...
    艾小鲜艾小米阅读 2,187评论 0 2

友情链接更多精彩内容