Помогите с запросом

Тема в разделе "Базы данных", создана пользователем stasdre, 30 апр 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    Есть SQL запрос
    Код:
    SELECT * FROM table WHERE
    как дописать правельно чтоб после WHERE количество строк не больше 20:nezn:
    Вот так
    Код:
    SELECT * FROM table WHERE COUNT()<20
    выдает ошибку
     
  2. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Код:
    SELECT * FROM table LIMIT 20
     
  3. stasdre

    stasdre Постоялец

    Регистр.:
    15 янв 2010
    Сообщения:
    125
    Симпатии:
    18
    А есть какие нибудь другие варианты?? LIMIT 20 не подойдет:(
     
  4. Unabashed

    Unabashed Писатель

    Регистр.:
    19 апр 2009
    Сообщения:
    3
    Симпатии:
    0
    Простите, не понимаю. Почему не подойдет
    SELECT * FROM table WHERE (...) ORDER BY (...) LIMIT 1,20
    ?
     
  5. Chance55

    Chance55 Постоялец

    Регистр.:
    2 мар 2010
    Сообщения:
    100
    Симпатии:
    6
    В MS SQL нет инструкции LIMIT. Почему? Ответ на этот вопрос знает только Билли Гейтс.
    Самый обычный запрос с LIMIT'ом:
    SELECT * FROM `some_table` LIMIT 10, 20

    В MS SQL подобный запрос будет иметь вид:
    SELECT top 20 * FROM [some_table] WHERE [primary_key_field] NOT IN
    (
    SELECT top 10 [primary_key_field] FROM [some_table] ORDER BY [primary_key_field]
    )
    ORDER BY [primary_key_field]
     
  6. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102

    Код:
    SELECT *, ROW_NUMBER() AS RowNum FROM table WHERE RowNum<21
     
Статус темы:
Закрыта.