2016-02-26 2 views
-1

У меня есть таблица cart, какая структура следующая: id, item_id, session_id, date, num, поэтому мне нужно, чтобы строки были сгруппированы по столбцу session_id и отсортированы по столбцу даты в одно и то же время, возможно ли это?Как сортировать и группировать данные в mysql двумя разными столбцами?

+0

Просьба представить некоторые данные о типовых таблицах и ожидаемом выходе. – Wanderer

+0

Вы должны отредактировать свой вопрос и предоставить образцы данных, желаемые результаты и свои попытки ответить на вопрос. –

+0

http://stackoverflow.com/help/how-to-ask –

ответ

0

Да, это возможно.

... order by session_id, date 

Это будет заказ во первых session_id, а затем по дате. Я считаю, что это то, чего вы хотите?

+0

, но дело в том, что я также хочу, чтобы session_id был заказан по дате тоже –

+0

Они также будут заказываться по дате, если у вас нет другого поля, называемого session_date, тогда нет, он не будет заказан к этой дате, а также ... Может ли сессия иметь много дат? Im догадывается, да ... – Sourcery

+0

Когда вы говорите, что хотите заказать его по дате, вы действительно хотите получить два результата в одной таблице? например: sessionid1 date1 sessionid1 date2 sessionid2 date3 date1 sessionid1 date2 sessionid1 date3 sessionid2 Когда три первые строки в заказанные SessionID, а три последние строки отсортированы по дате, а также колонны были переключены. Это также возможно при соединении, но не уверены, что это то, что вы хотите? – Sourcery

0

Попробуйте это:

SELECT * FROM YourTable 
GROUP BY session_id ORDER BY date DESC; 

Надеется, что это помогает!

0

Вы не можете группироватьсь по session_id и в то же время упорядочивать по дате.

Вы получите:

ORDER BY предложении, поскольку он не содержится ни в статистической функции или предложения GROUP BY

, что вы можете сделать, это:

SELECT [session_id], [date] From TableName group by [session_id], [date] заказать по [дате] desc

Смежные вопросы