Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
14 / 13 / 5
Регистрация: 24.02.2011
Сообщений: 714
1

Подскажите запрос пожалуйста

08.04.2014, 19:17. Показов 1820. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть такая:
Имеется база:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE `users` (
    `id`         INT(11) NOT NULL AUTO_INCREMENT,
    `name`       VARCHAR(255) DEFAULT NULL,
    `gender`     INT(11) NOT NULL COMMENT '0 - не указан, 1 - мужчина, 2 - женщина.',
    `birth_date` INT(11) NOT NULL COMMENT 'Дата в unixtime.',
    PRIMARY KEY (`id`)
);
CREATE TABLE `phone_numbers` (
    `id`      INT(11) NOT NULL AUTO_INCREMENT,
    `user_id` INT(11) NOT NULL,
    `phone`   VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
);
Нужно составить запрос, возвращающий имя и число указанных телефонных номеров девушек в возрасте от 18 до 22 лет.
Если я правильно понимаю то тут нужно через left join??????
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2014, 19:17
Ответы с готовыми решениями:

Подскажите, пожалуйста, как сделать запрос
Посоветуйте, пожалуйста, как решить проблему. у меня БД Библиотека в Access 2003. Необходимо...

Как правильно реализовать запрос, подскажите пожалуйста
SELECT Arenda_prodaja_kvartir.Raion, Arenda_prodaja_kvartir.Zhiloi_kompleks,...

Подскажите пожалуйста какой запрос нужен чтобы вывести в одну строчку?
Чтоб было ФИЛЬМ ЕГО ПРОФИ ЖАНРЫ ...

Подскажите пожалуйста как написать запрос в котором есть 2 условия, одно - and, другое -or
Имеется таблица, которая содержит сведения о докторе и дате приема. Мне нужно отсортировать записи...

3
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
08.04.2014, 22:25 2
Лучший ответ Сообщение было отмечено lavrik как решение

Решение

MySQL
1
2
3
4
5
6
7
SELECT `u`.`name`, COUNT(`u`.`id`) AS `phones`
  FROM
    `users` AS `u` INNER JOIN `phone_numbers` AS `pn`
      ON `u`.`id`=`pn`.`user_id`
      AND `u`.`gender`=2
      AND TIMESTAMPDIFF(YEAR, FROM_UNIXTIME(`u`.`birth_date`), CURDATE()) BETWEEN 18 AND 22
  GROUP BY `u`.`name`
Примерыч.
1
14 / 13 / 5
Регистрация: 24.02.2011
Сообщений: 714
09.04.2014, 08:31  [ТС] 3
Спасибо большое)))) Все круто, плюсую...
Но не могу вкурить зачем нужен GROUP BY `u`.`name` ?????
Почему без него работает некорректно???
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
09.04.2014, 10:37 4
Цитата Сообщение от lavrik Посмотреть сообщение
Но не могу вкурить зачем нужен GROUP BY `u`.`name` ?????
Если в списке SELECT присутствуют агрегатные функции (COUNT, MAX, SUM и проч.), то все поля, которые перечислены в списке SELECT и НЕ участвуют в агрегатных функциях, д.б. перечислены в GROUP BY.
0
09.04.2014, 10:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2014, 10:37
Помогаю со студенческими работами здесь

Знатоки, подскажите, пожалуйста, какую среду и СУБД лучше юзать, чтобы сделать базу данных (SQL) на Java, с веб-интерфейсом, защитой, формами и запрос
Знатоки, подскажите, пожалуйста, какую среду и СУБД лучше юзать, чтобы сделать базу данных (SQL) на...

Подскажите пожалуйста)
Будьте добры подскажите как сделать второе и четвёртое задание на фото. Заранее большое спасибо)

Подскажите!!! Пожалуйста
Что надо прописать на сайте, чтоб заходя на него открывался другой.

Подскажите пожалуйста
Можно ли поменять процессор на ноутбуке ASUS FX553VD Дисплей: 15,6”, 1920×1080, матовый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru