MySQL problem

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Tipsy
    Confirmed User
    • Jul 2001
    • 6989

    #1

    MySQL problem

    I got a simple problem (at least it should be).
    I just need to select a record from a table by it's location in the table. ie I may need to look at the 6th record or the 10th record. However, I don't wanna create a field for this. Can this be done? I've looked everywhere and it's either so simple that people haven't bothered to say how or it can't be done with a single command.

    Any help extemeley apprecited. BTW - I tried format c: and it didn't help
    Ignorance is never bliss.
  • Fletch XXX
    GFY HALL OF FAME DAMMIT!!!
    • Jan 2002
    • 60840

    #2
    have a link to MySQl info here http://superbooger.com/sponsors.html

    Want an Android App for your tube, membership, or free site?

    Need banners or promo material? Hit us up (ICQ Fletch: 148841377) or email me fletchxxx at gmail.com - recent work - About me

    Comment

    • Tipsy
      Confirmed User
      • Jul 2001
      • 6989

      #3
      Thanks Fletch. I've been at that site most of the evening and can now do just about every kind of mega complex search and sorting I want except the (should be simple) thing above. Maybe I need a drink....now where's that French beer gone.....
      Ignorance is never bliss.

      Comment

      • boldy
        Macdaddy coder
        • Feb 2002
        • 2806

        #4
        Just end your query with

        LIMIT 10, 1
        will return the 11th record

        LIMIT 10, -1
        will return the 11th record through end of table

        Cheers!
        MacDaddy Coder.

        Comment

        • pipp
          Confirmed User
          • Oct 2001
          • 1185

          #5
          boldy solution was much smarter
          Last edited by pipp; 05-05-2002, 01:45 PM.

          Comment

          • Tipsy
            Confirmed User
            • Jul 2001
            • 6989

            #6
            Knew it had to be simple. Ta very much
            Last edited by Tipsy; 05-05-2002, 01:48 PM.
            Ignorance is never bliss.

            Comment

            • kai-tracid
              Confirmed User
              • Apr 2001
              • 331

              #7
              select table
              from shithead
              where you're fucked up

              this will do it!

              • [email protected]
              • Hit him again Jack!He's crazy

              Comment

              • AdultWire
                Confirmed User
                • Feb 2002
                • 962

                #8
                Right.. keeping in mind of course, that the order of rows in a table may change arbitrarily at any time.. specially after table optimizations.
                SIG TOO BIG! Maximum 120x60 button and no more than 3 text lines of DEFAULT SIZE and COLOR. Unless your sig is for a GFY top banner sponsor, then you may use a 624x80 instead of a 120x60.

                Comment

                • Babaganoosh
                  ♥♥♥ Likes Hugs ♥♥♥
                  • Nov 2001
                  • 15841

                  #9
                  Originally posted by kai-tracid
                  select table
                  from shithead
                  where you're fucked up

                  this will do it!
                  select moron
                  from shortbus
                  where comment = 'stupid'
                  order by rand()
                  I like pie.

                  Comment

                  • XXXManager
                    So Fucking Banned
                    • Mar 2002
                    • 893

                    #10
                    Tipsy. Your questions is a little misleading...
                    There is no such thing as a position in tables - in relational databases. You can not say a record is the 10th (or whatever) record in a table (or a select). The fact that a record is the 1st or 10th in a select that is NOT an "ORDER"ed select is a matter a chance and you SHOULD NOT - under any circumstances - count on it being consistently so..
                    I recommend the folowwing...
                    1) order(sort) the table by someithing - anything would do if you dont have a valid field (like ID). "ORDER BY ____ [DESC]". ____ is a field name, DESC is optional for reverse ordering
                    2) LIMIT x,y - like boldy suggested will give you the -1 record after skipping x records. -1 records means: 1 record BACK. if you do LIMIT 10,5 meains records 11..15 in the select result.

                    Not using ORDER is also legitimate but DONT count of results being consistent. It will probably be so, but if you "check" the table or restore it from backup - results may change. actually ORDER is quite natural in many/most queries anyway - but if you dont care about consistency - not using ORDER may save you time/cpu

                    Comment

                    • buran
                      Confirmed User
                      • Mar 2002
                      • 264

                      #11
                      Yes, you should always use ORDER BY when using LIMIT or the results aren't predictable.

                      I'm trying to get tech-chatter for porn people in channel #porntech on irc.theadultwebmaster.com / chatnet.sextracker.com
                      [this signature intentionally left blank]

                      Comment

                      • Tipsy
                        Confirmed User
                        • Jul 2001
                        • 6989

                        #12
                        Originally posted by XXXManager
                        Tipsy. Your questions is a little misleading...
                        There is no such thing as a position in tables - in relational databases. You can not say a record is the 10th (or whatever) record in a table (or a select). The fact that a record is the 1st or 10th in a select that is NOT an "ORDER"ed select is a matter a chance and you SHOULD NOT - under any circumstances - count on it being consistently so..
                        I recommend the folowwing...
                        1) order(sort) the table by someithing - anything would do if you dont have a valid field (like ID). "ORDER BY ____ [DESC]". ____ is a field name, DESC is optional for reverse ordering
                        2) LIMIT x,y - like boldy suggested will give you the -1 record after skipping x records. -1 records means: 1 record BACK. if you do LIMIT 10,5 meains records 11..15 in the select result.

                        Not using ORDER is also legitimate but DONT count of results being consistent. It will probably be so, but if you "check" the table or restore it from backup - results may change. actually ORDER is quite natural in many/most queries anyway - but if you dont care about consistency - not using ORDER may save you time/cpu
                        Fair point. Thanks for the clarification
                        Ignorance is never bliss.

                        Comment

                        • AdultWire
                          Confirmed User
                          • Feb 2002
                          • 962

                          #13
                          Heh.. no-one ever gets it when I say it.. haha.
                          SIG TOO BIG! Maximum 120x60 button and no more than 3 text lines of DEFAULT SIZE and COLOR. Unless your sig is for a GFY top banner sponsor, then you may use a 624x80 instead of a 120x60.

                          Comment

                          • Tipsy
                            Confirmed User
                            • Jul 2001
                            • 6989

                            #14
                            Originally posted by AdultWire
                            Right.. keeping in mind of course, that the order of rows in a table may change arbitrarily at any time.. specially after table optimizations.
                            I missed your post - thanks Actually I was surprised this was still going.

                            The query is immediately after finding the place in the table and seems to work at least 99.9% of the time which is more than enough for the function it's used for. Sorting the records by ORDER would create far more problems than it solved with some major re-writing being involved. Handy for future ref though
                            Ignorance is never bliss.

                            Comment

                            Working...