Мои этот запрос получать 6 записей из перепродаж таблицы для shipwynum 151513: -MySQL группировка запросов логика
select re.recdat,
re.resaleid,
IF (re.benownsal != '', owsal.ownshortnam, if ((re.grptypsal != '' &&
re.bogrpidsal != ''), if (bosal.bogrpshort != '', bosal.bogrpshort,
bosal.bogrpnam), cou1.nation)) as seller,
IF (re.benownpur != '', owpur.ownshortnam, if ((re.grptyppur != '' &&
re.bogrpidpur != ''), if (bopur.bogrpshort != '', bopur.bogrpshort,
bopur.bogrpnam), cou.nation)) as buyer,
re.benownpur,
re.grptyppur,
re.bogrpidpur,
re.statuscod,
re.showinob,
re.benownsal,
re.grptypsal,
re.bogrpidsal
from resale as re
left join owner as owpur on owpur.ownwynum = re.benownpur
left join owner as owsal on owsal.ownwynum = re.benownsal
left join bogroup as bopur on bopur.bogrpid = re.bogrpidpur
left join bogroup as bosal on bosal.bogrpid = re.bogrpidsal
left join country as cou on cou.coucod = re.buynation
left join country as cou1 on cou1.coucod = re.selnation
where re.shipwynum = '151513' and
re.deleted = 'N'
order by re.saltyp desc,
re.recdat
Здесь я добавил образец экран данных выстрел получил сверху запроса для shipwynum 15153: -
Когда я добавляю предложение предела LIMIT 1
, то его получение первой записи, которую я ожидал. Но это единственное для одного корабля, у которого есть shipwynum = 151513. Я хочу получить первую запись за каждый корабль.
Какие изменения я делаю для получения таких записей для каждого корабля.
Любая помощь была бы принята с благодарностью.
Спасибо.
использовать группу и снять предел. используйте 'group by re.shipwynum' в конце запроса, и вы получите одну запись для всего корабля. –
не только для одной записи, я хочу получить первую запись для каждой транзакции перепродажи. Я выше запроса, если я обнаружил, что какая-либо другая запись отбрасывает первый, тогда это было бы неправильно. Порядок отправляется из предложения order by. – Bajrang
Можете ли вы добавить некоторые данные образца? Из внешнего вида запроса вы должны получать одну строку для каждой транзакции перепродажи. –