2011-01-03 12 views

risposta

12

Si può usare

SELECT * FROM `YourTable` ORDER BY YourColumn LIMIT 1 
+0

Cosa succede se l'OP vuole tutte le righe che corrispondono al valore minimo? –

+5

Ponticelli @OMG: OP ha specificato una riga. – jweyrich

2
select 
f.* 
from 
foo f 
inner join 
(
select min(id) as id from foo 
) m on m.id = f.id; 
5

provare questo

SELECT * FROM `table` ORDER BY `column` ASC LIMIT 1; 
1

Per selezionare tutte le righe che corrispondono al valore minimo per una colonna (in SQL Server)

SELECT T.col1, T.col2 
From Table T 
Where T.col1 = (select MIN(col1) from Table) 

Per selezionare solo una riga, è possibile modificare la prima linea ad essere:

Select Top 1 T.col1, T.col2 

e si può sempre aggiungere 'Ordina per colx' fino alla fine (più colonne, virgole separati il ​​lavoro troppo).

Spero che questo aiuti.

0

stavo cercando una soluzione simliar. Volevo la riga completa con un valore minimo di un gruppo di tabelle per un'altra colonna. Ecco la soluzione che ho trovato. Ho ordinato la tabella in base alla colonna minium con una clausola order_by e il feed al sottoquery a una query con ORDER BY che cattura la prima riga che appare che è la riga ordinata.

id bigint(20)  
commission decimal(5,4) 
door_price decimal(19,2) 
event_id bigint(20) 
min_commission decimal(19,2) 
price decimal(19,2) 
visible_to_public 

SELECT * FROM (SELECT  
     price_bundle.id as id, 
     event_id, 
     price_bundle.price + (case when ((price_bundle.commission * price_bundle.price) > price_bundle.min_commission) then (price_bundle.commission * price_bundle.price) else price_bundle.min_commission end) AS total 
    FROM price_bundle 
WHERE price_bundle.visible_to_public = 1 
ORDER BY total asc 
) AS price_bundle_order_by_total_price_asc GROUP BY event_id 
Problemi correlati