Проверьте этот MySQL Query - PullRequest
1 голос
/ 01 мая 2010

Это моя домашняя работа и вопрос такой:

Укажите средний баланс клиентов по городам и короткий почтовый индекс ( первые пять цифр почтового индекса). Включать только клиентов, проживающих в Штат Вашингтон («Вашингтон»). также таблица клиентов имеет 5 столбцы (имя, семья, CustZip, CustCity, CustAVGBal)

Я написал запрос, как показано ниже. Это правильно?

SELECT CustCity,LEFT(CustZip,5) AS NewCustZip,CustAVGBal
FROM Customer
WHERE CustCity = 'WA'

Ответы [ 6 ]

0 голосов
/ 01 мая 2010

Да, это правильно.

0 голосов
/ 01 мая 2010

Ваш запрос не находит среднее значение, он будет возвращать несколько строк для одного и того же CustCity и NewCustZip. Посмотрите на функцию AVG , а также предложение GROUP BY .

Кроме того, город не будет Вашингтоном. Вероятно, вам нужно получить список всех префиксов почтового индекса для Вашингтона и проверить их в своем запросе. Смотрите здесь .

0 голосов
/ 01 мая 2010

Я думаю, что в задании ожидается, что вы укажете одно среднее значение для каждой комбинации город / короткий код. Вам нужно будет использовать предложение GROUP BY и функцию AVG.

Кроме того, CustCity никогда не будет 'WA'; Вы, вероятно, должны получить чек «WA» из почтового индекса (я не живу в США, но я думаю, что достаточно взглянуть на первые две цифры).

0 голосов
/ 01 мая 2010

Ваш вопрос не очень понятен "по городу и короткому почтовому индексу". В зависимости от того, что именно это означает, вам может понадобиться посмотреть на «группировать по» или «упорядочить по».

0 голосов
/ 01 мая 2010

Нет, это не правильно. Вас просят ограничить количество людей в запросе штатом, а не городом. Чтобы сделать проблему немного более интересной, в таблице Customer нет столбца состояний, поэтому вам придется выяснить, как ограничить записи, не обращаясь непосредственно к состоянию.

Можете ли вы придумать, как это сделать?

0 голосов
/ 01 мая 2010

Нет. Поскольку вы усекаете почтовый индекс, у вас будет много записей, которые являются дубликатами. Ваш запрос должен учитывать это и объединять их в одну запись. Кроме того, вам нужен способ получить состояние из почтового индекса (мы пропустили другую таблицу). Возможно, вы опустили столбец в своем вопросе - если у вас есть состояние в таблице, используйте его, чтобы выбрать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...