Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Правильный запрос
 
 автор: FINT   (27.01.2011 в 17:17)   письмо автору
 
 

Здравствуйте!
У меня к Вам такой вопрос:
Есть некая таблица в которой есть 4 поля, нужно сделать выборку таким образом, что б вытягивались данные сначала по 1-му полю, затем по 2-му, затем по 3-му и затем по 4-му . Есть ли данное решение в MySQL (запрос) ??? Или нужно извращаться на PHP ???

  Ответить  
 
 автор: Trianon   (27.01.2011 в 17:20)   письмо автору
 
   для: FINT   (27.01.2011 в 17:17)
 

слишком туманно описана задача.

Что за поля?
Как эти поля увязаны в строки?
Какие данные в них лежат?
Какие данные должен выдать запрос?

Не исключено также, что сама схема хранения данных выбрана неадекватно задаче.

  Ответить  
 
 автор: FINT   (27.01.2011 в 17:28)   письмо автору
 
   для: Trianon   (27.01.2011 в 17:20)
 

Есть таблица users
В таблице users 3 поля : age name sex
Задача:
Сделать запрос так, что б в результате получилась выборка:
Сначало все записи по значению поля age, затем все записи по значению поля name, затем все записи по значению поля sex

  Ответить  
 
 автор: Trianon   (27.01.2011 в 17:47)   письмо автору
 
   для: FINT   (27.01.2011 в 17:28)
 

>Есть таблица users .В таблице users 3 поля : age name sex
>Задача: Сделать запрос так, что б в результате получилась выборка:

>Сначало все записи по значению поля age,
>затем все записи по значению поля name,
>затем все записи по значению поля sex

Это три разных выборки.
Что мешает сделать три запроса?

  Ответить  
 
 автор: FINT   (27.01.2011 в 17:48)   письмо автору
 
   для: Trianon   (27.01.2011 в 17:47)
 

в моём случае это не подходит! :) Много мороки в дальнейшем будет :)

  Ответить  
 
 автор: FINT   (27.01.2011 в 17:55)   письмо автору
 
   для: FINT   (27.01.2011 в 17:48)
 

Данная задача решается: ЧЕРЕЗ UNION

(SELECT * FROM table_name WHERE pole="10")
UNION
(SELECT * FROM table_name WHERE pole2="20")
UNION 
(SELECT * FROM table_name WHERE pole2="20");


Сам спросил, сам ответил :)

Спасибо Всем :)

  Ответить  
 
 автор: Trianon   (27.01.2011 в 17:58)   письмо автору
 
   для: FINT   (27.01.2011 в 17:55)
 

ничего однозначного этот вариант Вам не даст.
Никто не гарантирует, к примеру, что строки pole="10" окажутся первыми, да и вообще - смежными.

  Ответить  
 
 автор: Trianon   (27.01.2011 в 17:55)   письмо автору
 
   для: FINT   (27.01.2011 в 17:48)
 

Окей.
Отвечу так.
Запрос такой написать можно.
Считать его решением - нельзя.
Так как будет он дико громоздким, и неоправданно сложным.

  Ответить  
 
 автор: FINT   (27.01.2011 в 17:56)   письмо автору
 
   для: Trianon   (27.01.2011 в 17:55)
 

Не понимаю о чём Вы ???
Почему это не решение данной задачи?

  Ответить  
 
 автор: FINT   (27.01.2011 в 19:25)   письмо автору
 
   для: Trianon   (27.01.2011 в 17:55)
 

Подскажите лучший вариант данной задачи.
Где Ваши варианты решения проблемы???

  Ответить  
 
 автор: Trianon   (27.01.2011 в 19:31)   письмо автору
 
   для: FINT   (27.01.2011 в 19:25)
 

Я проблемы не вижу.
Почему для получения трех выборок нельзя сформировать три запроса - Вы ответить отказались.
Видел бы проблему - смог бы посоветовать, как к ней подойти.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования