Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: DBI - retrieving a specific row

by beebware (Pilgrim)
on Feb 04, 2002 at 13:04 UTC ( [id://143223]=note: print w/replies, xml ) Need Help??


in reply to DBI - retrieving a specific row

I think this will be DB specific, but I know on MySQL you can use select * from table LIMIT 3,1 just to get the fourth result.

Personally, if you are going to be accessing the data sequentially (ie first row, second row etc), you may as well do it in a loop as it will be a lot more effecient on the database servers cache system (it should 'anticipate' that you will request the next record, but if you then start a new query it may dump the cached data).

Replies are listed 'Best First'.
Re: Re: DBI - retrieving a specific row
by S_Shrum (Pilgrim) on Feb 05, 2002 at 10:54 UTC

    Ahhh...LIMIT sound like just what I need.

    Makes sense that it wouldn't be in the DBI book...need to get me the SQL book.

    Thanx for the suggestions all.

    Sean

      I would recommend you getting SQL In A Nutshell (O'Reilly) - I've only had it 3 months and it's alreeady quite thumbed and bent. Page 149 gives SELECT...LIMIT as a MySQL specific and PostgreSQL specific functions, the syntax is:
      MySQL: SELECT * FROM table_name LIMIT (starting_row-1),number_of_rows
      PostgreSQL: SELECT * FROM table_name LIMIT number_of_rows,(starting_row-1)
      Don't get the two different parameter orders mixed up!

      If you aren't using either of these databases (have a look at this comparision table between them if need be), use might be able to use stored procedures to do the job. For a database-independent way, you'll be best having a function within your script in which you loop round to get the data you require.

Re: Re: DBI - retrieving a specific row
by S_Shrum (Pilgrim) on Feb 07, 2002 at 11:27 UTC
    Ack! It appears that SQL::Statement does not support a LIMIT method (or at least as far as I can tell; it fails in the script call and I can't find any references to LIMIT in the SQL::Statement code. Any other ideas?

    ======================
    Sean Shrum
    http://www.shrum.net

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://143223]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2025-02-08 03:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which URL do you most often use to access this site?












    Results (95 votes). Check out past polls.