我有一个包含一百万行的MySQL表。我的查询结果需要包含100行,并且必须按日期排序。
我现在想在查询中添加一个子句,使得可以告诉数据库“以id为'5'的行之后的行开始结果”。因此,我的结果将包括具有ID 4,3,2,6,8 ......
的行亲爱的读者,您是否能够让我摆脱困境? ;)
查询:
SELECT id, type, content, date
FROM my_table
WHERE type = 'FI'
ORDER BY date ASC
LIMIT 100;
结果:
| id | type | content | date |
|----|------|----------|------------|
| 7 | FI | ContentR | 2014-01-01 |
| 9 | FI | ContentS | 2014-01-13 |
| 1 | FI | ContentT | 2014-02-09 |
| 5 | FI | ContentU | 2014-03-27 |
| 4 | FI | ContentV | 2014-03-30 | ---|
| 3 | FI | ContentW | 2014-04-01 | |
| 2 | FI | ContentX | 2014-06-10 | |- The result I want
| 6 | FI | ContentY | 2014-09-03 | |
| 8 | FI | ContentZ | 2014-12-09 | |
... ---|
答案 0 :(得分:3)
SELECT id, type, content, date
FROM my_table
WHERE type = 'FI'
AND date > (SELECT date FROM my_table WHERE id = 5)
ORDER BY date ASC
LIMIT 100;