Я искал это, но не смог найти ответа на этот вопрос. Для моего класса «Базы данных» мы должны продемонстрировать использование некоторых функций SQL в базе данных, которую мы создали. Одна из этих функций - MIN(), а другая - MAX() и другие.HAVING MIN() комбинация возвращается так же, как HAVING MAX()
Что происходит со мной в том, что при выполнении команды SELECT nome AS mais_barato FROM equipamento HAVING MIN(preço);
(имена в португальский: нома = имя, mais_barato = дешевле, Equipamento = оборудование, preço = цена) выход заключается в следующем:
+-------------+
| mais_barato |
+-------------+
| ZON Hub |
+-------------+
Где можно было бы ожидать (исходная таблица далее ниже, для вас, чтобы увидеть для себя то, что можно было бы ожидать):
+-------------+
| mais_barato |
+-------------+
| Modem |
+-------------+
что плохого в заявлении? При запуске SELECT nome AS mais_caro FROM equipamento HAVING MAX(preço);
(mais_caro = more_expensive) выход такой же, как у MIN(preço)
.
Исходная таблица equipamento
является (треска уникальный код, связанный с оборудованием):
+-----+----------+--------+
| cod | nome | preço |
+-----+----------+--------+
| 152 | ZON Hub | 120 |
| 228 | PowerBox | 100 |
| 444 | Fibra | 200 |
| 673 | NetGear | 70 |
| 779 | Modem | 50 |
+-----+----------+--------+
Я использую mysql Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (i686) using readline 6.2
на Ubuntu 13.10
Большое спасибо
Привет, я тоже бразильский, просто знайте, не используйте специальный символ в именах полей. Столбец 'preço' должен быть просто' preco'. –
Я знаю о специальных символах, я просто использую их для упражнения из-за учителя (он не очень хороший учитель) – RPSR1994
Ваш запрос логически неверен. Условие HAVING не выражено правильно: вы будете использовать логическое выражение. MySQL неверно истолковывает состояние бухгалтера. Посмотрите @ http://sqlfiddle.com/#!2/279d2/5 –