запрос к мускулу выдаёт не то, что надо

Discussion in 'PHP' started by Дикс, 6 Jul 2006.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    У меня в базе 34 записи.
    Почему, когда я отправляю запрос
    "SELECT * FROM `journal` ORDER BY id DESC LIMIT 0,30;"
    он выдаёт записи с 5-ой по 34-ую???
     
    1 person likes this.
  2. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    Как я понял надо выбрать до 30 включительно... хотя я сам не особо в мускле разбираюсь, но попробуй так:
    "SELECT * FROM `journal` ORDER BY id DESC LIMIT 30;"
     
  3. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    ASC, a ne DESC
     
    #3 GreenBear, 6 Jul 2006
    Last edited: 6 Jul 2006
    1 person likes this.
  4. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    не помогло

    мне нужен desc, это блог
     
  5. Muha

    Muha Elder - Старейшина

    Joined:
    21 Aug 2006
    Messages:
    58
    Likes Received:
    5
    Reputations:
    -3
    А так пробовал?
    SELECT * FROM journal WHERE id < 30;
     
  6. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    =)))
    Где-то недалеко от берега на курортах черного моря, девушка тонет и завет на помощь:
    - ПОМОГИТЕ!!! ТАНУ!!!
    К ней подплывает спасатель:
    - Держитесь, девушка.
    - Уберите руки! Я не вам кричала, а вон тому блондину у вышки!

    2 Дикс
    Ты разберись что тебе нужно =))) 30 последних записей или первых? Если первых, то очевидно что ORDER BY blablabla ASC, если последних, то DESC. Если нужно первых, но DESC, так как это блог, то попробуй DASC, если получится - скажи мне =) я тоже попробую =)
     
    _________________________
  7. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    895
    Reputations:
    20
    Потому что вначале происходит сортировка, а потом выборка 30 записей. Нельзя вначале делать LIMIT а потом DESC

    ЧТоб сделать как тебе надо не с нуля а с пятой. Что определить пятую запись надо вначале вычислить число строк типа COUNT(*) а зная число строк написать.

    SELECT * FROM `journal` ORDER BY id DESC LIMIT $count-30 ,30;
     
    #7 Егорыч+++, 31 Aug 2006
    Last edited: 31 Aug 2006