Мне нужно выбрать записи «bundle» из приведенной ниже таблицы, но только в том случае, если в пакете существует другой мудрый трек 1 из каждой версии. Каждый выпуск имеет уникальную «cat_no», поэтому мне нужно использовать GROUP BY.MYSQL GROUP BY BY AND ORDER BY с ABS
SELECT * FROM cds
WHERE genre='rock'
GROUP BY cat_no
ORDER BY ABS(track) DESC
LIMIT 0,3
Это то, что я пробовал, но иногда я получаю след 1, когда есть комплект для этой версии.
Таблица
genre cat_no track
rock 001 1
rock 001 2
rock 001 bundle
rock 002 1
rock 002 2
rock 002 bundle
rock 003 1
rock 003 2
Спасибо, что сработал, но можете ли вы объяснить, что означает «t», и я предполагаю, что трек = 'bundle', 0, 1 - это порядок приоритета? – user1209203
1. 't' - это псевдоним подзапроса (MySQL ему нужен); 2. Да, IF (...) используется для размещения «пучка» перед другими «грузовыми» номерами. – Devart
Спасибо, что я прочитаю о поджиданиях – user1209203