"Wajih-ur-Rehman" <[EMAIL PROTECTED]> wrote:
> I have this statement that works perfectly fine in Access and MSSQL: (In
> words, i first get the top 50 id values according to the where clause and
> then i get the maximum of those id values)
> 
> "SELECT Max(id) FROM (select top 50 id from myTable  where  infoId in
> ( 3 ) AND id > 100 order by id  ASC) AS t1 "

Max id is the last row in the result set of the query "select id from myTable  where  
infoId in ( 3 ) AND id > 100 order by id  ASC LIMIT 50". So, you can write:

        SELECT id FROM myTable WHERE infoId IN (3) AND id > 100 ORDER BY id  ASC LIMIT 
49,1;

> 
> (Note that id > 100 changes in every iteration of the loop in my code)

Sorry, this note is not clear enough for me. What do you mean?

> 
> I want to run a similar query in MYSQL....Is there *any* way to accomplish
> it ? I have tried the following query without any luck
> 
> "SELECT Max(id) FROM (select id from myTable  where  infoId in
> ( 3 ) AND id > 100 order by id  ASC LIMIT 50) AS t1 "
> 

 From v4.1 you can use derived table and the above query will work.
 


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Victoria Reznichenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
       <___/   www.mysql.com





-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to