1. 程式人生 > >MySQL分組,並且組內再排序

MySQL分組,並且組內再排序

需求:按照類別category_id分組,並對每個分類按時間date排序

注意:group by 分組後只取每組的第一條資料,這不符合要求,分組後,要求每組的資料不減少

  • 資料庫:
     

  • sql:
SELECT
	a.*, count(1) AS rank
FROM
	test a
LEFT JOIN test b ON a.category_id = b.category_id
AND a.date <= b.date
GROUP BY
	a.category_id,
	a.date
ORDER BY
	a.category_id,
	a.date DESC
  • 結果: