UNION - ORDER BY и LIMIT |
|||||
|
|||||
|
|
|||||
![]() ![]() |
Немога да разбера едни неща за union: 1. когато съединим няколко таблици и после сложим Limit така: (SELECT a FROM t1 WHERE a=10 AND B=1) UNION (SELECT a FROM t2 WHERE a=11 AND B=2) LIMIT 10; LIMIT на всички резултати от SELECT-тите ли го задава или на всеки селект по отделно? например имаме 10 a-та в таблиза t1 и 10 в таблица t2 и тогава ще ореже вторите 10 ли? 2. И при Order by нали трябва да се пишат имената на колонките от първия селект? |
||||
|
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||
|
|
|||||
|
|||||
|
|
|||||
![]() |
LIMIT важи за общите резултати Що се отнася до ORDER BY трябва да използваш alias* от първия SELECT (не съм сигурен как е на български alias) CODE
това е за цялата заявка... иначе за отделните SELECT-и може също да им слагаш ORDER BY и LIMIT по нормалния начин, но имай впредвид, че UNION връща винаги неподреден списък, тоест ORDER BY в SELECT-ите има смисъл само с LIMIT не съм mysql експерт, но дано съм помогнал :) още info EDIT CBeTHaX: alias до колкото знам може да се превежда като инстанция |
||||
|
---------------------------
Потребител от: 28.01.05 | Всички уроци от escapeboy | Всички скриптове от escapeboy http://katsarov.seloto.net |
|||||
|
|
|||||
|
|
|||||
![]() ![]() |
Виж ейтози линк: http://www.tutorialspoint.com/mysql/mysql-union-keyword.htm Тач не пишат Alias или то alias се използва само когато даваме order by? |
||||
|
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||
|
|
|||||
|
|
|||||
![]() |
Цитат от zipopro@02.12.2008 13:55: Виж ейтози линк:http://www.tutorialspoint.com/mysql/mysql-union-keyword.htm Тач не пишат Alias или то alias се използва само когато даваме order by? alias е задължително за ORDER BY, но ORDER BY не е задължителен за alias :) Идеята е да имаш по нещо да ги подредиш и евентуално да се избегне повтаряне на колони. |
||||
|
---------------------------
Потребител от: 28.01.05 | Всички уроци от escapeboy | Всички скриптове от escapeboy http://katsarov.seloto.net |
|||||
|
|
|||||
|
|
|||||
![]() ![]() |
а добре какво ще рече тва да се избегне повтаряне на колони? Ти като напишеш първия селект то не трябва ли 2-рия и 3-тия и т.н. да ти се подреждат с имената колоните на 1-вия? ей виж пак този линк и виж последното: mysql> SELECT fname, lname, addr FROM prospect Всички колони се обединяват под колоните на 1-вия исе изкарват така.-> UNION ALL -> SELECT first_name, last_name, address FROM customer -> UNION -> SELECT company, '', street FROM vendor; +-------------------+----------+------------------------+ | fname | lname | addr | +-------------------+----------+------------------------+ | Peter | Jones | 482 Rush St., Apt. 402 | | Bernice | Smith | 916 Maple Dr. | | Grace | Peterson | 16055 Seminole Ave. | | Bernice | Smith | 916 Maple Dr. | | Walter | Brown | 8602 1st St. | | ReddyParts, Inc. | | 38 Industrial Blvd. | | Parts-to-go, Ltd. | | 213B Commerce Park. | +-------------------+----------+------------------------+ |
||||
|
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||
|
|
|||||
|
|
|||||
![]() |
Имах впредвид, че ако не го бяха направили така с alias и направиш нещо от рода на CODE
Идеята ти звучи логично... да се ползват колоните от първия селект... но по документация ORDER BY си върви с alias. Никога не пречи да пробваш :P (всъщност горната примерна заявка най-вероятно ще изгърми с "неизвестна колона") :) |
||||
|
---------------------------
Потребител от: 28.01.05 | Всички уроци от escapeboy | Всички скриптове от escapeboy http://katsarov.seloto.net |
|||||
|
|
|||||
|
|
|||||
![]() ![]() |
Не знам тръгна ми... който желае сорса: CODE
CODE
|
||||
|
Това мнение е редактирано от zipopro на 03.12.2008 18:54
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист Винчета, болчета гайкии...! |
|||||
|
|
|||||
| 1 посетител чете тази тема (0 потребители и 1 гост) | |||
|
Активни потребители:
---
|
|||
| |||









Този отговор е маркиран като удовлетворителен!