Proszę chcę zaznaczyć dane z tabeli, gdzie specyficzne pole ma wartość min, próbowałem to:MYSQL jak wybrać danych gdzie pole ma wartość min
SELECT * FROM pieces where min(price)
jestem nie jest dobry z MySQL, proszę o jakąkolwiek pomoc? Dzięki
Proszę chcę zaznaczyć dane z tabeli, gdzie specyficzne pole ma wartość min, próbowałem to:MYSQL jak wybrać danych gdzie pole ma wartość min
SELECT * FROM pieces where min(price)
jestem nie jest dobry z MySQL, proszę o jakąkolwiek pomoc? Dzięki
da to wynik, który ma minimalną cenę dla wszystkich rekordów.
SELECT *
FROM pieces
WHERE price = (SELECT MIN(price) FROM pieces)
Nie ma za co: D –
To może być powolne. – abenevaut
To w jaki sposób to zrobić (zakładając rozumiem pytanie)
SELECT * FROM pieces ORDER BY price ASC LIMIT 1
Jeśli chcesz, aby wybrać wiele wierszy, gdzie każdy z nich może mają tę samą cenę (co jest minimum), wtedy wystarczy odpowiedź @ JohnWoo.
Zasadniczo tutaj po prostu zamawiamy wyniki według ceny w porządku ASCending (zwiększenie) i biorąc pierwszy wiersz wyniku.
Działa to również:
SELECT
pieces.*
FROM
pieces inner join (select min(price) as minprice from pieces) mn
on pieces.price = mn.minprice
(ponieważ ta wersja nie ma gdzie stan z podzapytania, to może być stosowane, jeżeli chcesz zaktualizować tabelę, ale jeśli wystarczy wybierz opcję polecam w użyciu rozwiązanie John Woo)
Wygląda na to, że może być ponownie użyty w widoku –
Zastosowanie MIEĆ MIN (...)
Coś jak:
SELECT MIN(price) AS price, pricegroup
FROM articles_prices
WHERE articleID=10
GROUP BY pricegroup
HAVING MIN(price) > 0;
W rzeczywistości, zależy co chcesz uzyskać: - tylko wartości min:
SELECT MIN(price) FROM pieces
tabeli (wielokrotności wierszach) whith wartości min: Czy jak powiedział John Woo powyżej.
Ale, jeśli mogą być różne wiersze z samej wartości min, najlepiej zamówić je od innej kolumny, bo przecież czy później trzeba będzie to zrobić (począwszy od John Woo answere):
SELECT * Z kawałków GDZIE cena = (SELECT MIN (cena) z kawałków) ORDER BY stanie ASC
Aby uprościć
SELECT * MIN (cena) FROM prod LIMIT 1
W rzeczywistości nie. * wyświetli losowe wartości, niekoniecznie z wiersza powiązanego z tą min. –
Całkowicie zgadzam się z Laurentiu L. tutaj: większość innych DBMS (wtedy MySQL) nie pozwoliłoby na uruchomienie takiego zapytania bez odpowiedniej klauzuli "GROUP BY". –
Spowoduje to wybranie losowego wiersza na wartość minimalną i nie jest to pytanie, które zostało zadane! –
kwestia ta może mieć wiele interpretacji, można dać przykładowe zapisy z wyników? –