Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение сумм в одной таблице / 9 сообщений из 9, страница 1 из 1
07.12.2020, 06:52
    #40025134
DenHedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Здравствуйте. Для упрощения задачи составил небольшую таблицу с 3-мя кинотеатрами и проданными в них билетами. На скриншоте выделил их отдельными цветами. Каким образом можно сравнить сумму проданных в каждом из них билетов и выявить, в каком кинотеатре больше всего проданных билетов?
...
Рейтинг: 0 / 0
07.12.2020, 07:33
    #40025136
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Ну и что нам с этой весёлой картинкой делать? дайте то же самое, но текстом - CREATE TABLE + INSERT INTO.
...
Рейтинг: 0 / 0
07.12.2020, 08:55
    #40025142
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
DenHedd,

1. Группируете данные по кинотеатрам и получаете список "кинотеатр - сумма проданных билетов"
2. Ранжируете список по убыванию суммы и отдаете его первую строчку.

Как-то так вижу.
...
Рейтинг: 0 / 0
07.12.2020, 08:58
    #40025143
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Arhat109 , задание просит максимум по количеству, а не по сумме. Впрочем, какая разница, подход тот же.
...
Рейтинг: 0 / 0
07.12.2020, 09:12
    #40025146
DenHedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Akina,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
create table cinema (id int auto_increment key,
	             `name` text not null);
                     
create table movie (id int auto_increment key,
		    title text not null); 
                    
create table `session` (id int auto_increment key,
		        cinemaID int not null,
                        foreign key (cinemaID) references cinema (id),
		        movieID int not null,
                        foreign key (movieID) references movie (id),
			`date` datetime,
			sold_tickets int not null default 0);

insert into cinema (`name`) values ('Россия'), ('Уссури'), ('Океан');
insert into movie (title) values ('Мстители'), ('Призрачный Гонщик'), ('Чёрная Пантера'), ('Блеф'), ('Майор Пейн');
insert into `session` (cinemaID, movieID, `date`, sold_tickets) values (1, 1, '2020:05:01 10:00:00', 225),
						                       (1, 4, '2020:05:01 15:00:00', 120),
								       (1, 5, '2020:05:06 18:00:00', 315),
								       (2, 2, '2020:05:01 10:00:00', 420),
								       (2, 2, '2020:05:02 15:00:00', 220),
								       (2, 2, '2020:05:04 18:00:00', 90),
								       (2, 3, '2020:05:05 10:00:00', 255),
								       (2, 5, '2020:05:07 15:00:00', 150),
								       (3, 1, '2020:05:02 15:00:00', 400),
								       (3, 2, '2020:05:03 10:00:00', 115),
								       (3, 3, '2020:05:04 18:00:00', 365),
								       (3, 4, '2020:05:06 18:00:00', 210);
...
Рейтинг: 0 / 0
07.12.2020, 09:16
    #40025147
DenHedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Arhat109,

То есть каждый отдельный кинотеатр брать и суммировать количество проданных билетов? Может, в данном маленьком случае это вариант, но мне надо бы какой-нибудь более компактный способ это посчитать. Так сказать, для ситуации с большим количеством.
...
Рейтинг: 0 / 0
07.12.2020, 09:34
    #40025149
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
Код: sql
1.
2.
3.
4.
5.
SELECT cinema.name, SUM(session.sold_tickets) total
FROM cinema
JOIN session ON cinema.id = session.cinemaID
GROUP BY 1
ORDER BY 2 DESC;


fiddle

DenHedd
То есть каждый отдельный кинотеатр брать и суммировать количество проданных билетов? Может, в данном маленьком случае это вариант, но мне надо бы какой-нибудь более компактный способ это посчитать.

да куда уж компактнее-то...
...
Рейтинг: 0 / 0
07.12.2020, 09:42
    #40025151
DenHedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
А, всё! То, что нужно! Огромное спасибо!

Akina

DenHedd
То есть каждый отдельный кинотеатр брать и суммировать количество проданных билетов? Может, в данном маленьком случае это вариант, но мне надо бы какой-нибудь более компактный способ это посчитать.

да куда уж компактнее-то...


Я просто подумал, что Вы описываете ситуацию, как у меня в сообщении.
...
Рейтинг: 0 / 0
07.12.2020, 10:42
    #40025161
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение сумм в одной таблице
DenHedd,

Он именно ее и описал. А Вы .. что имели ввиду? :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение сумм в одной таблице / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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