|
В чем ошибка в запросе SQL (MAX и AVG)?
|
|||
---|---|---|---|
#18+
Здравствуйте, есть БД с двумя таблицами из нее надо вытащить таблицу с указанием производителя с максимальной средней стоимостью телефонов https://disk.yandex.ru/i/i-Uhn6dEZXqnFA запрос к ней " SELECT companyName, MAX(PriceAvg) FROM (SELECT `companyId`, AVG(`price`) AS PriceAvg FROM phone GROUP BY `companyId`) AS reporttable INNER JOIN company ON reporttable.companyId=company.companyId " дает неправильный ррезультат, а именно неправильно указывает производителя телефонов, при этом без INNER JOIN работает правильно, указывая Id производителя и максимальную среднюю цену телефонов. Но нужно вывести название производителя в таблице, а не его Id. Файл базы https://disk.yandex.ru/d/lQnRbz4WqZKDHQ ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 19:28 |
|
В чем ошибка в запросе SQL (MAX и AVG)?
|
|||
---|---|---|---|
#18+
Роман В В, если вы оформите сообщение в более читаемом виде: скрипты на создание таблиц (а не скриншоты в прикрепленном файле), скрипт для небольшого тестового набора данных - ваша просьба о помощи будет выглядеть более дружелюбно, а шансы на ответ - увеличатся. Может, проблема и не сложная, но чтобы разобраться, нужно выкачивать ваши скрипты, куда-то их заливать, чтобы увидеть данные. Что не очень удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 17:40 |
|
В чем ошибка в запросе SQL (MAX и AVG)?
|
|||
---|---|---|---|
#18+
CREATE TABLE `company` ( `companyId` int(100) NOT NULL, `companyName` varchar(100) NOT NULL, `companyCountry` varchar(100) NOT NULL, PRIMARY KEY (`companyId`), UNIQUE KEY `companyID` (`companyId`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CREATE TABLE `phone` ( `phoneId` int(100) NOT NULL, `phoneModel` varchar(100) NOT NULL, `companyId` int(100) NOT NULL, `price` int(100) NOT NULL, PRIMARY KEY (`phoneId`), KEY `companyId` (`companyId`), CONSTRAINT `phone_ibfk_1` FOREIGN KEY (`companyId`) REFERENCES `company` (`companyId`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 INSERT INTO company (companyId, companyName, companyCountry) VALUES (1, 'nokia', 'finland'), (2, 'samsung', 'korea'), (3, 'apple', 'usa'), (4, 'alcatel', 'italia'), (5, 'sony', 'japan'), (6, 'sony-ericsson', 'japan'), (7, 'philips', 'holland'), (8, 'xiaomi', 'china'), (9, 'lenovo', 'china'); INSERT INTO phone (phoneId, phoneModel, companyId, price ) VALUES (1, 'G50', 1, 38), (2, '8 V 5G UW' , 1, 76), (3, 'Galaxy M22', 2, 54), (4, 'Galaxy M52 5G', 2, 93), (5, 'iPhone 13 Mini', 3, 87), (6, 'iPhone 11', 3, 99), (7, '1L', 4, 43); ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 14:13 |
|
В чем ошибка в запросе SQL (MAX и AVG)?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 14:20 |
|
|
start [/forum/topic.php?fid=47&msg=40101399&tid=1827925]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 515ms |
0 / 0 |