Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет количества записей и UNION, вывод без сортировки 
:(
    Опции темы
Колесо
Дата 28.4.2014, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.12.2011

Репутация: нет
Всего: нет



Нужно подсчитать количество записей в разных таблицах. 
Составил несколько простых запросов и объеденил их через UNION. 
Но почему то вывод осуществляется в порядке возрастания, а не в том порядке который указан в тексте запроса, т.е. не представляется возможным понять какая цифра к какому запросу относится. Можно ли как то отключить эту сортировку?
PM MAIL   Вверх
Akina
Дата 28.4.2014, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(Колесо @  28.4.2014,  14:22 Найти цитируемый пост)
Можно ли как то отключить эту сортировку? 

Можно ли отключить то, чего нет?

Цитата(Колесо @  28.4.2014,  14:22 Найти цитируемый пост)
вывод осуществляется в порядке возрастания, а не в том порядке который указан в тексте запроса

А где он, текст запроса-то?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Колесо
Дата 29.4.2014, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.12.2011

Репутация: нет
Всего: нет



Код

(SELECT COUNT (*)
FROM table1)

    UNION
    
(SELECT COUNT (*)
FROM table2)

    UNION
    
(SELECT COUNT (*)
FROM table3)

Допустим в первой таблице хранится 100, во второй - 300, в третьей - 200. 
Результатом запроса будет:
100,
200,
300.

А хотелось бы получить: 100, 300, 200. 

СУБД MsSQL. 

Это сообщение отредактировал(а) Колесо - 29.4.2014, 09:34
PM MAIL   Вверх
Akina
Дата 29.4.2014, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(Колесо @  29.4.2014,  10:33 Найти цитируемый пост)
Результатом запроса будет:100,200,300.

Завтра может быть и другой порядок smile ведь ORDER BY не указан...

Цитата(Колесо @  29.4.2014,  10:33 Найти цитируемый пост)
хотелось бы получить: 100, 300, 200. 

Код

SELECT 1, COUNT (*) FROM table1
UNION 
SELECT 2, COUNT (*) FROM table2
UNION
SELECT 3, COUNT (*) FROM table3
ORDER BY 1

Код

SELECT q.cnt
FROM
  (SELECT 1 num, COUNT (*) cnt FROM table1
   UNION 
   SELECT 2, COUNT (*) FROM table2
   UNION
   SELECT 3, COUNT (*) FROM table3
  ) q
ORDER BY q.num



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Колесо
Дата 29.4.2014, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.12.2011

Репутация: нет
Всего: нет



Спасибо, работает. 

Первый вариант даже без ORDER BY 1
PM MAIL   Вверх
Akina
Дата 29.4.2014, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(Колесо @  29.4.2014,  11:10 Найти цитируемый пост)
даже без ORDER BY 1 

Вот что. Бросай программировать и иди учи теорию и основы реляционных БД и реализации реляционных СУБД. Ты несёшь такой бред, что слушать противно! и когда-нибудь это тебе выйдет более чем боком - если вовремя не одумаешься.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.