クエリの生成に時間がかかる。与えられたレコードセットのイベント値の最後の行が2の場合、最後の6レコードを取得し、イベントが1である最後の5レコードIDを取得するものが必要です。与えられたレコードは、データが私のMySqlテーブル。指定されたレコードセットに基づいて最後の5または6レコードを取得する方法
テーブル構造
CREATE TABLE `timelog` (
`timeLogId` int(11) NOT NULL AUTO_INCREMENT,
`event` int(1) NOT NULL,
PRIMARY KEY (`timeLogId`)
)
は、ここで述べた問題を解決する上で私の現在の試みです:
SELECT timeLogId, event FROM (SELECT * FROM timelog ORDER BY timeLogId DESC LIMIT 6) as T ORDER BY timeLogId ASC
レコード1
timeLogId | event
1 | 1
2 | 2
3 | 1
4 | 2
5 | 1
6 | 2
7 | 1
8 | 2
結果:
timeLogId | event
3 | 1
4 | 2
5 | 1
6 | 2
7 | 1
8 | 2
レコード2
timeLogId | event
1 | 1
2 | 2
3 | 1
4 | 2
5 | 1
6 | 2
7 | 1
結果:
timeLogId | event
3 | 1
4 | 2
5 | 1
6 | 2
7 | 1
http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-を参照してください。 for-be-a-very-simple-sql-query – Strawberry
私はテーブル構造のcreate文を提供しました。 – Vilowapo