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 ...


### Additional problem (when sku has a dash in it)

Thanks for the answer, the Zend_Db_Expr is working now by add "/" before "Zend_Db_Expr": `$collection->getSelect()->order(new /Zend_Db_Expr("FIELD(e.sku, $skus)"));`

But when sku has a dash in it, it will result a new question https://magento.stackexchange.com/questions/191568/product-collection-sort-order-by-skus-fix-the-error-when-sku-has-a-dash-in-it , hope someone could answer it.