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

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

Как-то так вижу.
...
Рейтинг: 0 / 0
Сравнение сумм в одной таблице
    #40025143
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109 , задание просит максимум по количеству, а не по сумме. Впрочем, какая разница, подход тот же.
...
Рейтинг: 0 / 0
Сравнение сумм в одной таблице
    #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
Сравнение сумм в одной таблице
    #40025147
DenHedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arhat109,

То есть каждый отдельный кинотеатр брать и суммировать количество проданных билетов? Может, в данном маленьком случае это вариант, но мне надо бы какой-нибудь более компактный способ это посчитать. Так сказать, для ситуации с большим количеством.
...
Рейтинг: 0 / 0
Сравнение сумм в одной таблице
    #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
Сравнение сумм в одной таблице
    #40025151
DenHedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, всё! То, что нужно! Огромное спасибо!

Akina

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

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


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

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


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