Try this one:
select * from (select * from multiturnTable order by rowid desc limit 5000)
where (player1 = ? or player2 = ?)
and (complete=0 or p1SubmitScore=0 or p2SubmitScore=0)
Pavel
On Mon, Mar 14, 2011 at 1:58 PM, Ian Hardingham wrote:
> Ah, sorry about this - my query
Are you wanting the last 5000 from player 1 and last 5000 from player 2?
You can even limit and order the sub selects.
Otherwise, I don't see the purpose of a union when OR would do.
SELECT * FROM multiturnTable WHERE rowid in (SELECT rowid FROM
multiturnTable WHERE player1 ='?' order by
Assuming that higher rowids really are later rowids, wouldn't adding "ORDER BY
rowid DESC" and "LIMIT 5000" do the job?
Will
On 3/14/11 10:58 AM, "Ian Hardingham" wrote:
Ah, sorry about this - my query is this one:
SELECT * FROM multiturnTable WHERE rowid in (SELECT rowid
Ah, sorry about this - my query is this one:
SELECT * FROM multiturnTable WHERE rowid in (SELECT rowid FROM
multiturnTable WHERE player1 ='?' UNION ALL SELECT rowid FROM
multiturnTable WHERE player2 = '?') AND (complete=0 OR p1SubmitScore=0
OR p2SubmitScore=0)
And I only want to consider the
select id from table order by id desc limit 5000
Adam
On Mon, Mar 14, 2011 at 1:52 PM, Ian Hardingham wrote:
> Hey guys.
>
> I have a table with an autoincrement primary ID, and as part of a select
> I would like to only take the 5000 "largest"/most recent ids. Is there
> a
5 matches
Mail list logo