6.08.2014 / 13:53 |  | 
kingdosya    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Вашингтон Регистрация: 06.08.2013
   | допустим есть таблица top с полей name который имеет 5 запись: t1,t2,t1,t2,t1,t1.(порядок именно такой). Теперь если сделаем запрос: select name from top where limit 1,3 то получаем эти записи:  t2,t1,t2. Теперь вопрос, а если сделать такой запрос:  select name from top where name=t2 and limit 1,2 то получаем какие записи? Вот такие: t2,t2 ? Или вот такие t2,t1? Я думаю что получается такая t2,t2 выборка потому что в запросе есть условия name='t2'.
   | 
  6.08.2014 / 14:01 |  | 
Koenig    Модератор форума  
   Сейчас: Offline 
 Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
   | kingdosya,  лимит в запросе работает не как от до, а от сколько взять то есть ты запросом 1,2 говоришь пропустить первую запись и взять две
  __________________
   Магистр Мёда  | 
  6.08.2014 / 14:04 |  | 
Koenig    Модератор форума  
   Сейчас: Offline 
 Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
   | where limit ? вроде как пустое условие дает ошибку, where 1 limit не даст
  __________________
   Магистр Мёда  | 
  7.08.2014 / 10:50 |  | 
kingdosya    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Вашингтон Регистрация: 06.08.2013
   | Koenig (06.08.2014/14:04) where limit ? вроде как пустое условие дает ошибку, where 1 limit не дастПрошу внимательно читай вопрос. Вот редактировал запросы: допустим есть таблица top с полей name который имеет 5 запись: t1,t2,t1,t2,t1,t1 ПОРЯДОК ЗАПИСЕЙ ИМЕННО ТАКОЙ. Теперь если сделаем запрос: select name from top limit 1,3 то получаем эти записи: t2,t1,t2. Теперь вопрос, а если сделать такой запрос: select name from top limit 1,2 where name='t2'   то получаем какие записи? Вот такой: t2 ? Или вот такие t2,t1? Я думаю что получается такая t2 выборка потому что в запросе есть условия name='t2'.
   | 
  7.08.2014 / 11:01 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | kingdosya,  limit в конце запроса должен стоять.
  Разбери по кусочкам запрос. select name from top - t1,t2,t1,t2,t1,t1
  where name='t2' - t2, t2
  limit 1,2 - t2 (который второй)
  __________________
   let live  Изменено aNNiMON (7.08 / 11:04) (всего 1 раз) | 
  7.08.2014 / 13:19 |  | 
kingdosya    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Вашингтон Регистрация: 06.08.2013
   | aNNiMON (07.08.2014/11:01) kingdosya,  limit в конце запроса должен стоять.
  Разбери по кусочкам запрос. select name from top - t1,t2,t1,t2,t1,t1
  where name='t2' - t2, t2
  limit 1,2 - t2 (который второй)Короче, запрос: select name from top where name='t2' limit 1,2 - возвращает t2 да?
   | 
  7.08.2014 / 13:22 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | kingdosya, должен.
  __________________
   let live  | 
  7.08.2014 / 17:14 |  | 
kingdosya    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Вашингтон Регистрация: 06.08.2013
   | aNNiMON,  спасибо, за ответы.
   | 
  9.08.2014 / 16:09 |  | 
kingdosya    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Вашингтон Регистрация: 06.08.2013
   | у   меня есть несколько вопросы по order by, прошу отвечайте на их все.  допустим есть таблица users с такими столбцами и записями:  id|name|let
  1| adi    |55 2| bek   |13 3| eni    |60 (записи записаны именно в таком порядке) вопрос 1: я хочу получить записи всех полей по убыванию. для этого я  сделаю такой запрос: select * from users order by id desc, name desc,  let desc. Существует ли более лучший способ? Например можно ли написать  desc один раз для всех 3 полей?  вопрос 2: если сделаю такой запрос: select * from users order by  let  desc то по убыванию сортируется ТОЛЬКО значение поли lеt? То есть  получаю такой результат   id|name|let
  1| adi    |60 2| bek   |13 3| eni    |55 (смещенный результат) ???? или такой результат:  id|name|let
  3| еni    |60 2| bek   |13 1| аdi    |55 (а тут сортированы и записи  которые я не указал desc в их полях ) ??? вопрос 3: если я сделаю такой запрос select name from users order by   let desc то получаю это:  |name|
  | eni    | | bek   | | adi    |    (тут сортировка поли lеt влияет на результат, даже если мы его не запрашивали ) да??? вопрос 4: а обновление записей влияет ли на сортировку по убываний?   то есть в впереди будет последние обновленные записи да?.  вопрос 5: этот вопрос не косается к сортировку. если столбец id имеет  авто_инкремент и когда обновляю  записи в столбцах nаmе,lеt то значение  столбца id не меняется да?
   Изменено kingdosya (9.08 / 16:19) (всего 1 раз) | 
  9.08.2014 / 21:51 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | kingdosya,  1. select * from users order by id desc 2. 2 вариант. 3. Нет.  4. Обновлённые в смысле UPDATE? 5. Нет. Строка таблицы сохраняет целостность в любом случае. *. Почему бы тебе самому не провести эксперименты с запросами и не выяснить как обстоят дела на практике?
  __________________
   let live  |