У нас есть таблица пользователей со столбцом member_end, которая, как сказано в названии, - дата окончания членства пользователей. Теперь некоторые пользователи никогда не покупают членство, поэтому поле пусто. Для некоторых пользователей это поле прошло (членство истекло). Мне нужно, чтобы сначала отсортировать активные элементы (упорядочивается по дате membership_end desc), а затем остальным пользователям в некотором независимом порядке сортировки. В основном нам нужно показать активных участников.объединить два запроса на выбор из одной и той же таблицы mysql
SELECT * FROM accounts where membership_end>=now()
order by membership_end desc
union
???
- Должны ли мы использовать соединение или что-то еще?
- Что было бы вторым вопросом, чтобы избежать дубликатов?
Заранее спасибо
Ok, чтобы очистить вещи немного.
SELECT * FROM accounts where membership_end>=now()
order by membership_end desc
дает нам 12 активных членов, и это нормально. мы имеем следующее:
SELECT * FROM accounts where membership_end<now()
order by id desc
Мы просто должны объединить эти два в одном запросе. это все.
EDIT: На самом деле я понял это. Это довольно просто.
ВЫБРАТЬ идентификатор, membership_end со счетов ORDER BY membership_end> = NOW() DESC, идентификатор DESC
нет профсоюзов. никаких сложные запросы :-)
Привет там, что не будет показывать пользователям, чьи membership_end не равно нулю (например, те, чьи membership_end является 6/6/2016 – Outlaw011
В самом деле, был ваш запрос в вопросе: 'membership_end> = now()'. Я просто хотел подчеркнуть, что вы можете выбрать нулевые значения и отсортировать их –