Помощник
|
sql запрос |
spektr08
|
Сообщение
#1
|
||
|
|
||
|
|||
Muxa_hb |
20.8.2012, 11:54;
Ответить: Muxa_hb
Сообщение
#2
|
|
1 запрос
SELECT * FROM `table` Where `region`='Черкассы' ORDER BY `id` 2 запрос SELECT * FROM `table` Where `region` <>'Черкассы' ORDER BY `id`
|
|
|
spektr08
|
Сообщение
#3
|
|
А все одним запросом можно сделать?
-------------------- |
|
|
spektr08
|
Сообщение
#4
|
|
Я так понял что нельзя :))
-------------------- |
|
|
Apay |
20.8.2012, 21:28;
Ответить: Apay
Сообщение
#5
|
|
можно добавить дополнительное поле и сортировать по нему
SELECT *, IF(`region`='Черкассы',0,1) AS rgnchrk FROM `table` ORDER BY rgnchrk, `id`
|
|
|
zabmix |
22.8.2012, 23:30;
Ответить: zabmix
Сообщение
#6
|
|
Чтоб новую тему не создавать, продолжу эту.
задача собрать все ID дочерних категорий от родительского. Сейчас решается это таким способом: [PHP] $sid = '11'; function cat($id, $sub=false) { global $db; $str = ''; $query = $db->query("SELECT id, cat_id FROM `".db_prefix."catalog` WHERE cat_id = '$id'"); while($r = $query->fetch_assoc()) { $str .= $r['id'].','.cat($r['id'], true); } return $str; } echo trim($sid.','.cat($sid), ','); [/PHP] Запросов в БД будет куча, если очень много дочерних категорий, можно ли выполнить такую рекурсию одним запросом, чтоб получить цикл уже готовых всех подкатегорий? |
|
|
alexdrob |
22.8.2012, 23:38;
Ответить: alexdrob
Сообщение
#7
|
|
Если бы было всё так просто, не было бы придумано модели http://en.wikipedia.org/wiki/Nested_set_model
:) |
|
|
zabmix |
22.8.2012, 23:53;
Ответить: zabmix
Сообщение
#8
|
|
А как насчет такого?
[PHP]$sid = '11';[/PHP] SELECT * FROM `".db_prefix."catalog` as `c1` INNER JOIN `".db_prefix."catalog` as `c2` ON `c1`.id = `c2`.cat_id WHERE c1.cat_id = '$sid' or c2.cat_id IN(c1.id) Все бы ничего, но вот он выдает записи только в которых есть дочерние категории, если отталкиваться от $sid = 11 и у тех дочерних каталогов у которых не будет своих дочерних каталогов они выдаваться в результат не будут...) блин, как это избежать? |
|
|
zabmix |
23.8.2012, 0:04;
Ответить: zabmix
Сообщение
#9
|
|
alexdrob, что будет разумнее использовать в таком случае? Если говорить о скорости?
Nested set model или функция в цикле на php где сотни запросов?) |
|
|
alexdrob |
23.8.2012, 0:16;
Ответить: alexdrob
Сообщение
#10
|
|
в которых есть дочерние категории а если left join? Если говорить о скорости? Если вставка редкая - то nested set, так как там при вставке будет перезапись всех элеметнов. Это подходит для меню, для категорий. Но если вставка туда каждую минуту, то Уже зависит от количества данных и их размеров :) Посмотрите explain разных запросов, там будет видно сколько и каких ресурсов он задействует, запрос может быть один, но сложный и тормозить больше чем пять но простых :) |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Запрос на бесплатные полезности | 7 | Tia2 | 1975 | 23.3.2024, 11:27 автор: Alexand3r |
|
База товаров (opencart) SQL 70к+ товаров Инструменты для дома, строительное и производственное оборудование |
5 | getdump | 5635 | 1.9.2021, 2:04 автор: WebSniper |
|
Web-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты. | 0 | DF™ | 1435 | 28.7.2020, 13:24 автор: DF™ |
|
Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов |
4 | DFService | 3353 | 8.4.2020, 18:02 автор: DFService |
|
Куплю сайты, внутри темы подробный запрос | 3 | PticaKate | 3652 | 12.11.2019, 16:22 автор: 0pium |
Текстовая версия | Сейчас: 24.4.2024, 15:09 |