CREATE TABLE `base_goods` ( `model` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品型号', `market_date` date NOT NULL COMMENT '上市时间(首发时间)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`model`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='商品基本库';该表根据market_date、create_time升序排列,如何查询某个model前后两条数据
时间: 2024-02-25 22:59:21 浏览: 45
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
您可以使用以下 SQL 语句来查询某个 model 前后两条数据:
```
SELECT * FROM (
SELECT * FROM `base_goods`
WHERE `model` = 'your_model'
ORDER BY `market_date` ASC, `create_time` ASC
LIMIT 2
) t
ORDER BY `market_date` DESC, `create_time` DESC;
```
这个查询语句会首先按照 market_date 和 create_time 升序排列,找到指定 model 的前两条数据。然后再将这两条数据按照 market_date 和 create_time 降序排列,得到最终的结果。
阅读全文