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 |