ФорумРазработкаБазы данных → SELECT ВСЕХ

SELECT ВСЕХ

  • pyhtelkin

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 мая 2008 г. 10:35

    До сих пор мне не приходилось вытаскивать из базы много, обходился. Массивы никак не могу освоить. Но вот появилась необходимость - пришлось изучать. Но сразу возник вопрос на который в книжках не отвечают.

    Мне необходимо вывести 1000 юзверей. Как бы отчетный лист. Считать и вывести всех обойдя циклом - нет проблемы. Проблема в том что мне нужен вывод в хтмл, но в алфавитной и в групповой сортировке одновременно, с вставкой группы:

    Группа 1
    Вася
    Глаша
    Маша
    Группа 2


    Проблему могу решить циклом и множественными запросами (по количеству групп) с сортировкой средствами sql. Но мне показалось что это неправильно, надо один запрос. Хотя теоритически я понимаю что при огромных количествах данных запрос всех - это может быть не хорошо, у меня речь идет о количестве в 1000чу. Подскажите как это делать правильно.
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 18 мая 2008 г. 10:36, спустя 59 секунд

    а в базе то как всё хранится?
    какие таблицы, поля?
  • sap

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 мая 2008 г. 10:41, спустя 5 минут 6 секунд

    SELECT * FROM `table` ORDER BY `group` ASC, `name` ASC

    Дальше выводишь в цикле, попутно в цикле проверяя, изменилась группа или нет.
    Если я правильно понял проблему =)
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 18 мая 2008 г. 10:42, спустя 1 минуту 31 секунду

    угу, и если угадал структуру бд :)
  • pyhtelkin

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 мая 2008 г. 16:20, спустя 5 часов 37 минут 40 секунд

    Вы угадали, благодарю. Базы сложнее я еще не делаю.
    "Полное описание" …. мля, не книги, а жалкий перевод мануала.

    Параметры оказца можно через запятую …. вопрос конечно задал дурацкий…

    P.S. А бывают ли (как в приведенном примере) оправданы множественные запросы к одной таблице вообще?
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 19 мая 2008 г. 4:49, спустя 12 часов 28 минут 59 секунд

    P.S. А бывают ли (как в приведенном примере) оправданы множественные запросы к одной таблице вообще?


    только если один на селект а второй на инсерт(апдэйт, делет)

    или если у тебя БД реализовывает паттерн аджастмент листс
  • ghost

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 19 мая 2008 г. 4:58, спустя 8 минут 35 секунд

    вообще-то запросов в цикле нужно избегать, если ты про них спрашивал, но в том, что тебе написал sap, такого небыло..
  • pyhtelkin

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 19 мая 2008 г. 14:26, спустя 9 часов 28 минут 24 секунды

    CTAPbIu_MABP меня понял правильно. Пример - имелся ввиду моя ситуация. Согласен, изъясняюсь иногда с трудом.
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 19 мая 2008 г. 22:51, спустя 8 часов 24 минуты 41 секунду

    или если у тебя БД реализовывает паттерн аджастмент листс

    а что за паттерн? Можно ссылку, а то интересно, но в гугле ничего не нашел.
  • XoxMa

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 16 июня 2008 г. 5:47, спустя 27 дней 6 часов 56 минут

    Кстати, а если я при запросе к бд ставлю звёздочку (SELECT * …), то время открытия страницы больше, чем например если бы я написал SELECT `a`,`b`,`c`… ? или время незначительно? а то у меня много всего, и я не знаю что лучше ставить..
  • sap

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 16 июня 2008 г. 7:56, спустя 2 часа 9 минут 21 секунду

    Если полей в таблице много и нужно выбрать только несколько из них, то SELECT `a`, `b`, `c` FROM … сработает быстрее.
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 16 июня 2008 г. 8:02, спустя 5 минут 44 секунды

    Вообще, на мой вкус, когда поля в запросе перечислены сам код более читаем и понимаем, если возвращаешся к нему по прошествию времени …
  • sap

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 16 июня 2008 г. 8:13, спустя 10 минут 57 секунд

    Кстати, да.
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 16 июня 2008 г. 8:59, спустя 45 минут 55 секунд

    При изменении структуры таблиц, в частности добавление полей, выборка по "*" - будет совсем излишняя.
    adw/0
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 17 июня 2008 г. 3:58, спустя 18 часов 59 минут 24 секунды


    а что за паттерн? Можно ссылку, а то интересно, но в гугле ничего не нашел.


    я неправильно написал немного Adjacency List

    а вот ссылка http://phpclub.ru/faq/Tree/Al?v=4nm

Пожалуйста, авторизуйтесь, чтобы написать комментарий!