【发布时间】:2017-07-04 10:00:19
【问题描述】:
这是我的表结构:
+----+---------------------+
| id | event_date |
+----+---------------------+
| 12 | 2017-07-03 01:12:00 |
| 42 | 2017-07-04 18:13:00 |
| 52 | 2017-07-22 23:52:00 |
| 62 | 2017-10-20 23:55:00 |
+----+---------------------+
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| status | tinyint(2) | NO | | 0 | |
| content | text | NO | | NULL | |
| event_date | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
我想获取最新的两条记录,日期顺序为升序。
以下是我正在使用的代码:
$collection = Mage::getModel("blogpromo/blogpromo")->getCollection()
->addFieldToFilter('status', 0)
->setOrder('id', 'DESC')
->setOrder('event_date', 'ASC')
->setPageSize(2);
它正在使用 ID 提供记录。我想使用这两个字段进行排序。 虽然,当我尝试仅使用日期进行排序时,它工作正常。
【问题讨论】:
-
如果有人提供 raq mysql 查询会很有帮助。我正在使用以下但它也不起作用:
SELECT id,event_date FROM blog_promo ORDER BY event_date ASC, id DESC LIMIT 2;
标签: mysql magento sql-order-by magento-1.9