You can run a direct SQL query for fetching only first value using fetchOne() method.
fetchOne() Fetches the first column of the first row of the SQL result as output.
You can use direct SQL query for the fetch the first column of the first row using below way, Get Product id by Product SKU,
<?php class UpdateQuery { public function __construct( \Magento\Framework\App\ResourceConnection $resource ) { $this->resource = $resource; } /** * Update Sql Query */ public function runUpdateQuery() { $connection = $this->resource->getConnection(); $tableName = $connection->getTableName("catalog_product_entity"); $select = $connection->select()->from($tableName, 'entity_id')->where('sku = :sku'); $sku = "24-MB01"; $bind = [':sku' => (string)$sku]; return (int)$connection->fetchOne($select, $bind); } }
Output is 1. //entity_id for SKU 24-MB01
Check for other Direct SQL Query in Magento 2