For example, I want collection list in order "**sku2,sku1**", but it list as "sku1,sku2", because the id of sku1 is smaller. How to achieve it? Example codes is below: $skus = 'sku2,sku1'; $collection->addAttributeToSelect('*') ->addAttributeToFilter( 'sku', array('in' => $skus) ); Magento 1.x has a way here https://magento.stackexchange.com/questions/10031/how-to-specify-custom-sort-order-for-product-collection/10034#10034, but it doesn't work on Magento 2: $collection->getSelect()->order(new Zend_Db_Expr("FIELD(e.sku, $skus)")); > Fatal error: Uncaught Error: Class '.../Zend_Db_Expr' not found in ...