Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод нужной строки из сортированых данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вывод нужной строки из сортированых данных
domeenor
Отправлено: 16 Февраля, 2015 - 09:19:48
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Доброго времени суток! Ребята, нам нужно найти строку по WHERE id = id если таковая имеется из результата сортировки. Тоесть.
Сначало SELECT * FROM aaa ORDER BY `bbb` DESC
Потом SELECT * FROM aaa WHERE id = id из результата сортировки....
Только как это в одном запросе сделать?
 
 Top
RickMan
Отправлено: 16 Февраля, 2015 - 10:08:50
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

(Отредактировано автором: 16 Февраля, 2015 - 10:09:21)

 
 Top
domeenor
Отправлено: 17 Февраля, 2015 - 03:18:31
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




RickMan пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

WHERE id по id по отношению к результату сортировки
 
 Top
exlant
Отправлено: 17 Февраля, 2015 - 05:10:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




domeenor пишет:
RickMan пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

WHERE id по id по отношению к результату сортировки

а вам и написали по отношению к сортировке...
если не так, то объясняйте лучше..
пример таблицы, и что нужно из нее получить!
 
 Top
domeenor
Отправлено: 17 Февраля, 2015 - 06:43:35
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




exlant пишет:
domeenor пишет:
RickMan пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

WHERE id по id по отношению к результату сортировки

а вам и написали по отношению к сортировке...
если не так, то объясняйте лучше..
пример таблицы, и что нужно из нее получить!



Берем то что у нас получилось по ORDER BY и ищем в результатах строку по нужному ID
 
 Top
exlant
Отправлено: 17 Февраля, 2015 - 07:02:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




domeenor пишет:
exlant пишет:
domeenor пишет:
RickMan пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

WHERE id по id по отношению к результату сортировки

а вам и написали по отношению к сортировке...
если не так, то объясняйте лучше..
пример таблицы, и что нужно из нее получить!



Берем то что у нас получилось по ORDER BY и ищем в результатах строку по нужному ID

тогда а что тут написано?
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)
  3.  

(Отредактировано автором: 17 Февраля, 2015 - 07:03:01)

 
 Top
domeenor
Отправлено: 17 Февраля, 2015 - 07:06:10
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




domeenor пишет:
exlant пишет:
domeenor пишет:
RickMan пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM aaa WHERE `id` IN (SELECT * FROM aaa ORDER BY `bbb` DESC)

WHERE id по id по отношению к результату сортировки

а вам и написали по отношению к сортировке...
если не так, то объясняйте лучше..
пример таблицы, и что нужно из нее получить!



Берем то что у нас получилось по ORDER BY и ищем в результатах строку по нужному ID


Давай попробую обьяснить так. Выполняется запрос. из всех данных мы берем 10 строк... в строках по несколько столбцов типа id name score отсортировали скоре, но по ID нужно найти есть ли в результатах строка с нужным ID
(Добавление)
тоесть SELECT * FROM aaa WHERE id = 5
 
 Top
exlant
Отправлено: 17 Февраля, 2015 - 07:41:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




Гадание на кофейной гуще...
Цитата:
Выполняется запрос. из всех данных мы берем 10 строк

по какому критерию выбираем 10 строк? ПО LIMIT 0,10
допустим выбрали эти строки, отсортировали их по ORDER BY score DESK
а потом что нужно? выбрать из этих отсортированных строчек, те которые совпадают с нужным(ми) вам id?
тогда это вообще простой один запрос
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `table_name` WHERE id IN (1,2,3....(любые нужные вам id)) ORDER BY `score` LIMIT 0,10
  3.  

или вам нужно проверить или есть в этих выбранных 10 строчках ваш id(один или больше), а потом уже решить, что делать выводить весь список или не выводить?
 
 Top
domeenor
Отправлено: 17 Февраля, 2015 - 09:43:11
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




exlant пишет:
Гадание на кофейной гуще...
Цитата:
Выполняется запрос. из всех данных мы берем 10 строк

по какому критерию выбираем 10 строк? ПО LIMIT 0,10
допустим выбрали эти строки, отсортировали их по ORDER BY score DESK
а потом что нужно? выбрать из этих отсортированных строчек, те которые совпадают с нужным(ми) вам id?
тогда это вообще простой один запрос
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `table_name` WHERE id IN (1,2,3....(любые нужные вам id)) ORDER BY `score` LIMIT 0,10
  3.  

или вам нужно проверить или есть в этих выбранных 10 строчках ваш id(один или больше), а потом уже решить, что делать выводить весь список или не выводить?

Да, проверить в этих 10
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB