Может кто-нибудь помочь мне понять, как работает MySQL Group By и что я делаю неправильно?Я использую базу данных с двумя таблицами, аукционами и лотами.В таблице лотов есть столбец для «аукциона», который связывает каждый лот с соответствующим аукционом, а соотношение между множеством аукционов и лотов одно.
Я выбираю большое количество информации как из лотов, так и из аукционов, включая использование нескольких функций сумм и подсчета (различных) для суммирования некоторых записей в таблице лотов для каждого аукциона.
Мой запрос выглядит примерно так:
SELECT
auction.`countryId`,
auction.`date`,
auction.`name`,
auction.`awardComments`,
lots.`lotName`,
lots.`region`,
lots.`popCovered`,
SUM(lots.'size'),
SUM(lots.`paired`),
SUM(lots.`unpaired`),
COUNT(DISTINCT 'lots.winner')
FROM auction join lots USING ('awardid')
GROUP BY lots.'awardid'
'wardid '- это первичный ключ для таблицы аукционов и внешний ключ для таблицы лотов.'lotid' является первичным ключом для таблицы лотов, но не используется.
Когда я запускаю этот запрос, я получаю по одной строке для каждого аукциона, и я ищу по одной строке для каждого лота, синформация об аукционе одинакова для каждого лота в этом аукционе, а функции сумм и подсчетов подсчитывают общие размеры и количество победителей для каждого аукциона из таблицы лотов.Если я избавлюсь от частей запроса 'group by' и 'sum', то получу правильное количество строк, по одной на каждый лот.Есть ли способ получить все нужные мне строки с помощью функций sum и count?По сути, я хочу, чтобы предложение group применялось только к функциям SUM и COUNT, если это имеет смысл - я хочу, чтобы количество победителей рассчитывалось для каждого аукциона, но отображалось в результатах для каждого лота этого аукциона.