【发布时间】:2022-01-22 22:51:49
【问题描述】:
结构是:
CREATE TABLE current
(
id BIGINT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
symbol VARCHAR(5),
UNIQUE (id), INDEX (symbol)
) ENGINE MyISAM;
id | symbol |
---|---|
1 | A |
2 | B |
3 | C |
4 | C |
5 | B |
6 | A |
7 | C |
8 | C |
9 | A |
10 | B |
我正在使用以下
SELECT *
FROM current
WHERE id
IN
(
SELECT MAX(id)
FROM current
GROUP BY symbol
)
返回表中的最后一条记录。
id | symbol |
---|---|
8 | C |
9 | A |
10 | B |
如何以类似的方式返回倒数第二个结果?
我知道我需要
ORDER BY id DESC LIMIT 1,1
在某个地方,但我的 foo 很弱。
我想回来
id | symbol |
---|---|
5 | B |
6 | A |
7 | C |
-
也许您需要 TOP 2,然后 LIMIT 1 以获得 2 个最佳结果中的第一个。当然,您必须牢记秩序。我不知道数据集,但我认为它对您的逻辑很有用
-
发布示例数据和预期结果以阐明您想要什么。
-
想用一个例子来详细说明? mysql 不是我的第一语言。