我有一个包含很多列的产品列表,但对我的问题最重要的 3 个是这些(带有一些随机数据):
|--------------------------------------|
| title | category_id | date |
| ----------|-------------|------------|
| Product1 | 1 | 2012-04-18 |
| Product2 | 1 | 0000-00-00 |
| Product3 | 17 | 0000-00-00 |
| Product4 | 17 | 2012-04-10 |
| Product5 | 17 | 2012-04-20 |
| Product6 | 1 | 0000-00-00 |
| Product7 | 2 | 2012-04-20 |
| Product8 | 2 | 0000-00-00 |
| Product9 | 17 | 2012-04-16 |
| Product10 | 22 | 2011-11-26 |
| Product11 | 22 | 2011-12-25 |
| Product12 | 30 | 2012-04-01 |
| Product13 | 2 | 2011-12-31 |
| Product14 | 30 | 2010-05-06 |
|--------------------------------------|
相同的产品category_id
应该一个接一个地列出(此时甚至可以通过“ORDER BY category_id”来解决),但我也必须注意该date
列:category_id
类别中的和产品必须是按date
降序排序(category_id
最新产品在顶部等等),所以理想情况下结果集应该是这样的(在类别“组”之间添加换行符只是为了更透明):
|--------------------------------------|
| title | category_id | date |
| ----------|-------------|------------|
| Product5 | 17 | 2012-04-20 |
| Product9 | 17 | 2012-04-16 |
| Product4 | 17 | 2012-04-10 |
| Product3 | 17 | 0000-00-00 |
| Product7 | 2 | 2012-04-20 |
| Product13 | 2 | 2011-12-31 |
| Product8 | 2 | 0000-00-00 |
| Product1 | 1 | 2012-04-18 |
| Product2 | 1 | 0000-00-00 |
| Product6 | 1 | 0000-00-00 |
| Product12 | 30 | 2012-04-01 |
| Product14 | 30 | 2010-05-06 |
| Product11 | 22 | 2011-12-25 |
| Product10 | 22 | 2011-11-26 |
|--------------------------------------|
是否有可能仅通过一个查询获得此结果集,什么是可行的解决方案?
在此先感谢,马塞尔