MySQL - Fetching lowest value

Solution1:

SELECT t1.* FROM your_table t1
JOIN (
  SELECT MIN(value) AS min_value, dealer
  FROM your_table 
  GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value

Solution2 (recommended, much faster than solution1):

SELECT t1.* FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL

This problem is very famous, so there is a special page for this in Mysql's manual.

Check this: Rows Holding the Group-wise Maximum/Minimum of a Certain Column


SELECT MIN(value),dealer FROM table_name GROUP BY dealer;

select id,name,MIN(value) as pkvalue,dealer from TABLENAME 
group by id,name,dealer;

here you group all rows by id,name,dealer and then you will get min value as pkvalue.

Tags:

Mysql

Group By