Ошибка в запросе в ORDER BY
Ошибка: несоответствие типов данных в выражении условия отбора.
Без ORDER BY запрос выполняется.
Мне нужно, чтобы в запросе выводимые поля были упорядочены по столбцу HB_count.
Подскажите, что не так в запросе?
И еще: Столбец HB_count содержит как положительные так и отрицательные значения. Можно ли в результате запроса упорядочить значения так, чтобы сначала выводились от 0 до максимального а потом уже от максимально отрицательного до минимально-отрицательного?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Ошибка при использовании DISTINCT, ORDER BY и CASE
Есть запрос, он выполняется без ошибок, но есть дублирующие записи SELECT «Field2» FROM «Table1».
Ошибка в запросе
select ОкладБольничного.Оклад/30*Больничный.ДнейБольничного as Итого from Больничный.
Ошибка в запросе
Всем привет, помогите пожалуйста с данным запросом. Выдаёт ошибку : ообщение 512, уровень 16.
ошибка в запросе
есть часть запроса: where c.Path LIKE ‘%’ + CAST((c1.ID IN (select ID from.
_katon_, да, появляется ошибка:
Ошибочная инструкция SQL: предполагалось Delete, Insert, Procedure, Select или Update
без синтаксиса with Запрос выполняется
iap, спасибо что заметили, а то я долго не смог бы воткнуть почему у человека не работает.
Коляк@, а вы что вообще делаешь и в чем?
_katon_, ошибка возникала из-за того, что одна из строк таблицы в поле даты ничего не содержала. после ее удаления запрос выполняется.
но я уже сделала по другому.
Однако, хотелось бы чтобы HB_count упорядочить значения так, чтобы сначала выводились от 0 до максимального а потом уже от минимально отрицательного до максимально отрицательного?
Н.: 0, 1, 4, 10, -1,-5, -10 и.т.д.
предлагаю сделать вот так. но пока не работает)))
т.е. работает, либбо по отдельности , либо выводит все, но не упорядочивает((
в чем ошибка?
Источник
Не работает сортировка ORDER BY
Не сортирует конструкция order by языка MYSQL.
Вот какой запрос пишу:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не работает сортировка по ORDER BY
Всем доброго времени, суток, мне нужно сделать, чтобы данные из таблицы БД выводились в обратном.
Добрый день , создал форму, добавил все что надо, вот собственно код . void __fastcall.
двойная сортировка в ORDER BY
Есть SQL-запрос к базе на выборку по двум полям, в первом выбирается несколько конкретных записей и.
kilogram, Обратите внимание. Числа — синие и выровнены направо. Строки — зеленые и выровнены налево.
Строки сортируются по алфавиту. «1» 1
А как тогда сортировать таблицу вот такого типа:
| id | model | sku |
| 1484 | Бур (SDS-Plus) 25 х 260 мм MAKITA | 1434 |
| 1485 | Бур (SDS-Plus) 25 х 310 мм MAKITA | 1435 |
| 1486 | Бур (SDS-Plus) 25 х 350 мм TAMO | 1436 |
| 1488 | Бур (SDS-Plus) 25 х 450 мм ТАМО | 1438 |
| 1487 | Бур (SDS-Plus) 25 х 450 мм MAKITA | 1437 |
| 1489 | Бур (SDS-Plus) 26 х 260 мм MAKITA | 1439 |
| 1490 | Бур (SDS-Plus) 26 х 310 мм MAKITA | 1440 |
| 1491 | Бур (SDS-Plus) 26 х 450 мм MAKITA | 1441 |
| 1407 | Бур (SDS-Plus) 4 х 110 мм TAMO | 1357 |
| 1408 | Бур (SDS-Plus) 4 х 110 мм MAKITA | 1358 |
| 1409 | Бур (SDS-Plus) 4 х 160 мм TAMO | 1359 |
| 1410 | Бур (SDS-Plus) 5 х 110 мм TAMO | 1360 |
| 1411 | Бур (SDS-Plus) 5 х 110 мм MAKITA | 1361 |
| 1413 | Бур (SDS-Plus) 5 х 160 мм MAKITA | 1363 |
| 1412 | Бур (SDS-Plus) 5 х 160 мм TAMO | 1362 |
| 1414 | Бур (SDS-Plus) 6 х 110 мм TAMO | 1364 |
| 1415 | Бур (SDS-Plus) 6 х 110 мм MAKITA | 1365 |
| 1417 | Бур (SDS-Plus) 6 х 160 мм MAKITA | 1367 |
| 1416 | Бур (SDS-Plus) 6 х 160 мм TAMO | 1366 |
| 1419 | Бур (SDS-Plus) 6 х 210 мм MAKITA | 1369 |
| 1418 | Бур (SDS-Plus) 6 х 210 мм TAMO | 1368 |
| 1420 | Бур (SDS-Plus) 6 х 260 мм TAMO | 1370 |
| 1422 | Бур (SDS-Plus) 8 х 110 мм MAKITA | 1372 |
| 1421 | Бур (SDS-Plus) 8 х 110 мм TAMO |
Добавлено через 9 минут
Не успел отредактировать.
Сортировка по полю `model`
Я в phpMyadmin выполняю запрос:
Возможно мое сообщение было не информативно, см. вложение.
Необходимо сортировать по модели с «человеческой логикой», т.е.:
| 1407 | Бур (SDS-Plus) 4 х 110 мм TAMO | 1357 |
| 1408 | Бур (SDS-Plus) 4 х 110 мм MAKITA | 1358 |
| 1409 | Бур (SDS-Plus) 4 х 160 мм TAMO | 1359 |
| 1410 | Бур (SDS-Plus) 5 х 110 мм TAMO | 1360 |
| 1411 | Бур (SDS-Plus) 5 х 110 мм MAKITA | 1361 |
| 1413 | Бур (SDS-Plus) 5 х 160 мм MAKITA | 1363 |
| 1412 | Бур (SDS-Plus) 5 х 160 мм TAMO | 1362 |
| 1414 | Бур (SDS-Plus) 6 х 110 мм TAMO | 1364 |
| 1415 | Бур (SDS-Plus) 6 х 110 мм MAKITA | 1365 |
| 1417 | Бур (SDS-Plus) 6 х 160 мм MAKITA | 1367 |
| 1416 | Бур (SDS-Plus) 6 х 160 мм TAMO | 1366 |
| 1419 | Бур (SDS-Plus) 6 х 210 мм MAKITA | 1369 |
| 1418 | Бур (SDS-Plus) 6 х 210 мм TAMO | 1368 |
| 1420 | Бур (SDS-Plus) 6 х 260 мм TAMO | 1370 |
| 1422 | Бур (SDS-Plus) 8 х 110 мм MAKITA | 1372 |
| 1421 | Бур (SDS-Plus) 8 х 110 мм TAMO | |
| 1484 | Бур (SDS-Plus) 25 х 260 мм MAKITA | 1434 |
| 1485 | Бур (SDS-Plus) 25 х 310 мм MAKITA | 1435 |
| 1486 | Бур (SDS-Plus) 25 х 350 мм TAMO | 1436 |
| 1488 | Бур (SDS-Plus) 25 х 450 мм ТАМО | 1438 |
| 1487 | Бур (SDS-Plus) 25 х 450 мм MAKITA | 1437 |
| 1489 | Бур (SDS-Plus) 26 х 260 мм MAKITA | 1439 |
| 1490 | Бур (SDS-Plus) 26 х 310 мм MAKITA | 1440 |
| 1491 | Бур (SDS-Plus) 26 х 450 мм MAKITA | 1441 |
Картинка в плохом качестве.
В спойлере полный вывод того, как отработал запрос в моем первом посте.
Сортировка то все равно не правильная.
Думал проблема в пробелах, удалил лишние пробелы.
Источник
Почему ORDER BY не срабатывает при использовании UNION в mysql?
Вопрос по mysql. Какие есть тонкости использования UNION в mysql?
Столкнулся с такой штукой — у меня есть два селекта, первый из них содержит ORDER BY . между селектами UNION стоит. сортировки в первом селекте почему-то НЕ происходит. То есть, выводит без сортировки, и ошибку не выдает никакую.
Создал базу данных
Создал таблицу ukraine
Создал таблицу russia
Объединяю с помощью UNION c ORDER BY, не срабатывает
Объединяю с помощью UNION c ORDER BY, не срабатывает
Объединяю с помощью UNION c ORDER BY, который ставлю в КОНЕЦ, сработало
Вопрос — почему ORDER BY срабатывает только в конце? Он, по идее, он должен срабатывать внутри каждого запроса.
5 ответов 5
Представьте, что каждый подзапрос вставляет данные в некоторую временную таблицу, а потом общий селект эти данные вытягивает. Тогда очевидно, что нет разницы в каком порядке были вставлены. Учитывается только итоговый порядок выборки
Трансформируется в некоторое подобие такого
Тогда понятно, что какие бы ORDER BY Вы не указывали в промежуточных запросах последний селект будет использовать свой порядок сортировки
Вы делаете именно union , не более простой и глупый union all . union без указания какой именно это union выполняет union distinct . Т.е. попытается удалить дубликаты строк из объединяемых множеств.
Обычно это само по себе не то поведение, на что вы рассчитывали и почти всегда когда говорят про union хотят видеть на самом деле union all . Если все строки разные, это просто лишняя операция, если есть совпадающие строки — то их вы потеряете из выборки и это может быть совсем не тем, что вы хотели получить.
И да, поиск дублирующих строк изменяет сортировку набора строк потому что он так сделан.
Фактически union all просто склеит две выборки одну за другой и не затронет сортировку. Не помню исключений для запроса верхнего уровня, но да, это не гарантируется стандартом. Если порядок критично важен то имеет смысл пересортировать после объединения:
Этот запрос гарантированно выдаст сначала записи из таблицы ukraine, отсортированные по названию, затем — из russia, тоже отсортированные по названию.
Источник
Sql почему не работает order by
Здравствуйте.
Пытаюсь создать VIEW для склада, который брак показывает,
но почему-то при создании ругается на строку с Order By PIN. В Фароновском учебнике есть пример VIEW с ORDER, в общем не могу понять почему VIEW не создается. Может ему SQL 3 нужен или товарищ фаронов ошибается и ORDER нельзя в VIEW использовать? Помогите разобраться.
Код создания VIEW:
create view Brak_View ( PIN, Iname, Brak )
as
select PIN, Iname, Brak from Sklad
where Brak > 0
order by PIN
Sandman25 ( 2003-11-07 12:56 ) [1]
View создается без Order By.
create view Brak_View ( PIN, Iname, Brak )
as
select PIN, Iname, Brak from Sklad
where Brak > 0;
А вот при извлечении из него уже можно сортировать.
select *
from brak_view
order by 1 desc
Vemer ( 2003-11-07 13:03 ) [2]
Спасибо за ответ.
Фаронов — м..к, Форум — Rulez!!
Жаль, а так хотелось. Тогда проще Query в проге создать будет, который и Select и Order будет делать.
Sandman25 ( 2003-11-07 13:08 ) [3]
View удобнее тем, что если изменится реализация (например, браком будет считаться, если (braK > 0) and (brak_allowed = 1)) то не надо будет исправлять программу. Или тем, что если в каждом query нужно фильтровать по тому же условию, то устаешь, и тогда лучше create view ne_brak 🙂
Но в данном случае похоже, действительно, написать from sklad легче.
MsGuns ( 2003-11-07 13:52 ) [4]
А я использую вьшки в двух случаях:
1. Сложный запрос из разных таблиц, при этом алгоритмика выборки может меняться и достаточно часто. В этом случае предпочтительнее поменять вью в метаданных, чем лазать во все проги на всех компах, где исп-ся данная выборка
2. Получение предварительного датасета для последующего извлечения из него клиентским запросом по некоторым своим (клиентским опять же) критериям. Что-то вроде «промежуточного звена»
3. Разграничение доступа.
3a. Клиент видит только то, что относится к нему
create view viw_who_am_i as select * from all_user where login=USER
3b. Клиент что-то видит, только если у него есть контрольная точка.
create view viw_all_users as select * from all_users where exists (select . )
4. Динамическое использование. Иногда нужно использовать либо одну связку таблиц, либо другую, в зависимости от запроса пользователя. Легче изменить from viw1 на from viw2, чем from table1, table2 where table1.id=table2.id
на from table3, table4 where table3.id=table4.id and not exists (select * from table5 . )
Johnmen ( 2003-11-07 23:15 ) [6]
Видимо умение (желание) посмотреть в прилагаемую к IB6 документацию тебе несвойственно. 🙁 Что печально.
Иначе не было бы таких . вопросов.
A SELECT statement clause cannot include the ORDER BY clause.
VID ( 2003-11-08 10:41 ) [7]
Johnmen: попроще, человека просто по всей видимости сбило с толку то, что в книге популярного автора как раз-таки «ОРДЕР БАЙ клауз» 🙂 вполне используется
Vemer ( 2003-11-08 10:56 ) [8]
> Jormen
К Yaffil Personal документация не прилагается.
А IBserver Open Source 6.0 я просто переписал у кого-то.
Что есть, тем и пользуемся. Фаронов у нас тоже недешев.
Источник