powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
45 сообщений из 45, показаны все 2 страниц
Помогите с запросом
    #38579314
Дана таблица data со следующими полями:

id_agreement
data_open
amount
product_name

Нужно написать запросы возвращающие:

1. Количество договоров, открытых в марте 2014
2. Количество и сумма задолженности по всем договорам " авто"
4. Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности.

Во вложении скрин исходной таблицы. Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579346
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно - пишите. Будут проблемы - обращайтесь, рассказывайте, что сделано и что именно работает не так, как хочется, поможем.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579350
Akina,

Пытаюсь выполнить эти вопросы по учебнику , но не получается, ошибка в синтаксисе.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579375
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и где сам написанный запрос? где объяснение логики его построения?

Ждите телепатов.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579776
Akina,

Вот мои запросы, согласно вопросам:

1) SELECT COUNT(id_agreement) FROM data WHERE data_open LIKE '%.03.%';

2) SELECT COUNT(amount) FROM data WHERE product_name LIKE 'авто'
UNION
SELECT SUM(amount) FROM data WHERE product_name LIKE 'авто';

3) К сожалению последний запрос я вообще не знаю куда копать и как писать((((((


Скрины моих запросов по порядочку. Подскажите, что не так делаю..
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579873
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович,

Код: sql
1.
SELECT COUNT(id_agreement) FROM data WHERE data_open LIKE '%.03.%';



надо

Код: sql
1.
SELECT COUNT(id_agreement) FROM data WHERE data_open between '01-03-2014' and  '31-03-2014'



LIKE используется только со строками.

Код: plaintext
 Количество и сумма задолженности по всем договорам " авто"

Я не очень понимаю, как ты их собираешься считать, если у тебя нет данных по оплатам.
Залолжность -- это суммы выставленных счетов минус суммы полученных оплат.

Код: plaintext
. Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности. 

Первые 2 договора по какому критерию ты собираешься отбирать ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579890
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Код: plaintext
. Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности. 
Первые 2 договора по какому критерию ты собираешься отбирать ?+упорядочивать в пределах группы(месяца) или всем скопом?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579900
tanglir,

Мне нужно упорядочить согласной этим месяцем в таблице, по возрастанию или убыванию без разницы)
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579953
Вот результат запроса SELECT COUNT(id_agreement) FROM data WHERE data_open between '01-03-2014' and '31-03-2014'

Что -то не сработал (
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579958
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные в таблице будут, и будут результаты у запроса
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579963
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор МихайловичЧто -то не сработал (а если так
Код: sql
1.
between '20140301' and  '20140331'
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579976
tanglir,

Да, действительно, сработало, только в таблице три записи , где встречается март месяц, а почему то выдало 4
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579977
Виктор Михайлович,
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579978
Вот
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579985
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович,

ну так поставьте "*" вместо "count(*)" и посмотрите, что именно там посчиталось.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38579994
tanglir,

Спасибо, все сработало, а можно еще такой вопрос:

Как вывести Долю по сумме/количеству продукта «ипотека» относительно общей суммы/количества договоров?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580015
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович,

Код: sql
1.
2.
select count(productid=:id)/count(*) 
from thetable

каунт() при необходимости заменить на сум()
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580025
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор МихайловичЧто -то не сработалТО, что Вам отвечают, не снимает с Вас обязанности читать мануал по языку. В частности, раздел о литералах даты-времени.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580035
tanglir,

Не могли бы Вы расписать поподробнее? Пожалуйста, вижу, что Вы мастер)
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580047
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12381461 и следующий пост.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580051
tanglir,

Да, это я знаю, просто начальство требует разобраться за короткое время
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580063
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартный ответ на это такой: пусть начальство приглашает специалиста, который и сделает всё "за короткое время". Или не сделает, мало ли чего ещё ваше начальство захочет.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580066
tanglir,

Согласен, но могли бы вы немного объяснить по вопросу?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580072
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем именно? запрос я дал. Вместо ":id" подставьте туда вашу "ипотеку", как она у вас задаётся - хз, если строкой, то и подставляйте строку, если идшником, то идшник...
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580093
tanglir,

только не бейте)
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580097
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эээ... а если не делить, а вывести оба каунта отдельно?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580098
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не надо прикладывать картинки, текст из шелла прекрасно копируется и вставляется в тег src или fix
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580106
Виктор Михайлович,

Правильно ли я понял, доля это мы считаем количество "ипотек" и делим на общее количество продуктов? Так?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580114
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович, вам лучше знать, как у вас определяется понятие "доля" :) Но запрос считает так, да.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580119
tanglir,

Вот попробовал так

mysql> select count(product_name='ипотека')/count(*) from data;
+----------------------------------------+
| count(product_name='ипотека')/count(*) |
+----------------------------------------+
| 1.0000 |
+----------------------------------------+

и так

mysql> select count(product_name='ипотека')/count(product_name) from data;
+----------------------------------------+
| count(product_name='ипотека')/count(*) |
+----------------------------------------+
| 1.0000 |
+----------------------------------------+
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580129
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, вот это
Код: sql
1.
select count(product_name='ипотека') , count(*) from data

что выдаст?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580137
tanglir,

вот
mysql> select count(product_name='ипотека') , count(*) from data;
+-------------------------------+----------+
| count(product_name='ипотека') | count(*) |
+-------------------------------+----------+
| 6 | 6 |
+-------------------------------+----------+
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580161
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно, а что покажет
Код: sql
1.
select product_name, product_name='ипотека' from data
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580162
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.0 это и есть 100%
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580164
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkov1.0 это и есть 100%Так в исходных данных есть и другие "товары", не должно быть 100%.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580168
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
действительно,
Код: sql
1.
2.
SELECT COUNT(*)/(SELECT COUNT(*) FROM data) FROM data
WHERE product_name='ипотека'
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580170
tanglir,

Чувствую мой косячок, у меня в тестовой базе были русскими написано "ипотека"
mysql> select product_name, product_name='ипотека' from data;
+--------------+------------------------+
| product_name | product_name='ипотека' |
+--------------+------------------------+
| avto | 0 |
| ipoteka | 0 |
| avto | 0 |
| ipoteka | 0 |
| ipoteka | 0 |
| avto | 0 |
+--------------+------------------------+
6 rows in set (0.00 sec)


переименовал и вот:

mysql> select product_name, product_name='ipoteka' from data;
+--------------+------------------------+
| product_name | product_name='ipoteka' |
+--------------+------------------------+
| avto | 0 |
| ipoteka | 1 |
| avto | 0 |
| ipoteka | 1 |
| ipoteka | 1 |
| avto | 0 |
+--------------+------------------------+
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580172
Виктор Михайлович,


mysql> SELECT COUNT(*)/(SELECT COUNT(*) FROM data) FROM data
-> WHERE product_name='ipoteka';
+--------------------------------------+
| COUNT(*)/(SELECT COUNT(*) FROM data) |
+--------------------------------------+
| 0.5000 |
+--------------------------------------+
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580174
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович,

ну вот, работает. А с буквами - это у вас кодировки не настроены, инфа 146%.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580192
tanglir,

а как настроить кодировки, что в базу я могу вносить данные на русском?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580287
Подскажи еще вот этот вопрос:

Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности.


Делаю запрос

SELECT id_agreement from data where data_open between'20140301'and '20140331' limit 0,2; все хорошо, а как сделать, чтобы выбралось из всех месяцев ??
...
Рейтинг: 0 / 0
Помогите с запросом
    #38580465
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор МихайловичВот попробовал так

Код: sql
1.
mysql> select count(product_name='ипотека')/count(*) from data;



и так

Код: sql
1.
mysql> select count(product_name='ипотека')/count(product_name) from data;



Код: sql
1.
select SUM(product_name='ипотека')/count(*) from data
...
Рейтинг: 0 / 0
Помогите с запросом
    #38581165
Akina,

Так а как быть с этим?

"Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности."


Делаю запрос

SELECT id_agreement from data where data_open between'20140301'and '20140331' limit 0,2; все хорошо, а как сделать, чтобы выбралось из всех месяцев ??
...
Рейтинг: 0 / 0
Помогите с запросом
    #38581206
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Михайлович"Отобрать первые 2 договора в каждом месяце и упорядочить их по сумме задолженности."
А взять и ФАК раздела почитать... тот, который про "нумерацию записей и прочие выверты с переменными"... очень, доложу Вам, способствует.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38616818
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УУУУУУУахахахах задание для работы в Промсвязьбанк)))
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]