Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 25 Май, 2012, 09:11:34

Страниц: [1]
Печать
Автор Тема: SELECT ВСЕХ  (Прочитано 2112 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pyhtelkin    ↓ 
18 Май, 2008, 06:35:18
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 104
Сила слова: 1.92

До сих пор мне не приходилось вытаскивать из базы много, обходился. Массивы никак не могу освоить. Но вот появилась необходимость - пришлось изучать. Но сразу возник вопрос на который в книжках не отвечают.
 
Мне необходимо вывести 1000 юзверей. Как бы отчетный лист. Считать и вывести всех обойдя циклом - нет проблемы. Проблема в том что мне нужен вывод в хтмл, но в алфавитной и в групповой сортировке одновременно, с вставкой группы:
 
Группа 1
Вася
Глаша
Маша
Группа 2
...
 
Проблему могу решить циклом и множественными запросами (по количеству групп) с сортировкой средствами sql. Но мне показалось что это неправильно, надо один запрос. Хотя теоритически я понимаю что при огромных количествах данных запрос всех - это может быть не хорошо, у меня речь идет о количестве в 1000чу. Подскажите как это делать правильно.
Записан
ghost    ↓ 
18 Май, 2008, 06:36:17 , спустя 59 секунд
НЕ ХУЕТА! ХУЕТА!

без вариантов
Группа: в ухо

Карма: 29
Сообщений: 876
Сила слова: 3.31

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

Если ты уже два часа споришь с идиотом - скорее всего он делает тоже самое...
sap    ↓ 
18 Май, 2008, 06:41:23 , спустя 5 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

SQL
SELECT * FROM `table` ORDER BY `group` ASC, `name` ASC
Дальше выводишь в цикле, попутно в цикле проверяя, изменилась группа или нет.
Если я правильно понял проблему =)
Записан

ghost    ↓ 
18 Май, 2008, 06:42:54 , спустя 1 минуту 31 секунду
НЕ ХУЕТА! ХУЕТА!

без вариантов
Группа: в ухо

Карма: 29
Сообщений: 876
Сила слова: 3.31

угу, и если угадал структуру бд :)
Записан

Если ты уже два часа споришь с идиотом - скорее всего он делает тоже самое...
pyhtelkin    ↓ 
19 Май, 2008, 12:20:34 , спустя 5 часов 37 минут 40 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 104
Сила слова: 1.92

Вы угадали, благодарю. Базы сложнее я еще не делаю.
"Полное описание" .... мля, не книги, а жалкий перевод мануала.
 
Параметры оказца можно через запятую .... вопрос конечно задал дурацкий...
 
P.S. А бывают ли (как в приведенном примере) оправданы множественные запросы к одной таблице вообще?
« Последнее редактирование: 19 Май, 2008, 12:28:50 от pyhtelkin » Записан
CTAPbIu_MABP    ↓ 
19 Май, 2008, 12:49:33 , спустя 12 часов 28 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

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

только если один на селект а второй на инсерт(апдэйт, делет)
 
или если у тебя БД реализовывает паттерн аджастмент листс
Записан

java.lang.OutOfMemoryError
ghost    ↓ 
19 Май, 2008, 12:58:08 , спустя 8 минут 35 секунд
НЕ ХУЕТА! ХУЕТА!

без вариантов
Группа: в ухо

Карма: 29
Сообщений: 876
Сила слова: 3.31

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

Если ты уже два часа споришь с идиотом - скорее всего он делает тоже самое...
pyhtelkin    ↓ 
19 Май, 2008, 10:26:32 , спустя 9 часов 28 минут 24 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 104
Сила слова: 1.92

CTAPbIu_MABP меня понял правильно. Пример - имелся ввиду моя ситуация. Согласен, изъясняюсь иногда с трудом.
« Последнее редактирование: 19 Май, 2008, 10:33:18 от pyhtelkin » Записан
Timur    ↓ 
20 Май, 2008, 06:51:13 , спустя 8 часов 24 минуты 41 секунду
НЕ ХУЕТА! ХУЕТА!

NullPointerException
Группа: в ухо

Карма: 56
Сообщений: 1009
Сила слова: 5.55

или если у тебя БД реализовывает паттерн аджастмент листс
а что за паттерн? Можно ссылку, а то интересно, но в гугле ничего не нашел.
Записан
XoxMa™    ↓ 
16 Июнь, 2008, 01:47:33 , спустя 27 дней 6 часов 56 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 132
Сила слова: 0

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

sap    ↓ 
16 Июнь, 2008, 03:56:54 , спустя 2 часа 9 минут 21 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

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

AlexB    ↓ 
16 Июнь, 2008, 04:02:38 , спустя 5 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3428
Сила слова: 2.6

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

sap    ↓ 
16 Июнь, 2008, 04:13:35 , спустя 10 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Кстати, да.
Записан

adw0rd    ↓ 
16 Июнь, 2008, 04:59:30 , спустя 45 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17633
Сила слова: 1.67

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

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
CTAPbIu_MABP    ↓ 
17 Июнь, 2008, 11:58:54 , спустя 18 часов 59 минут 24 секунды
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

Timur

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

я неправильно написал немного Adjacency List
 
а вот ссылка http://phpclub.ru/faq/Tree/Al?v=4nm
Записан

java.lang.OutOfMemoryError
Страниц: [1]
Печать
 

Перейти в: