MYSQL jak wybrać DANE gdzie pole ma wartość min
Proszę chcę wybrać dane z tabeli, gdzie określone pole ma wartość minimalną, próbowałem tego:
SELECT * FROM pieces where min(price)
Nie jestem dobry z MySQL, proszę o pomoc ? Dzięki
6 answers
To daje wynik, który ma minimalną cenę na wszystkich rekordach.
SELECT *
FROM pieces
WHERE price = ( SELECT MIN(price) FROM pieces )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-13 08:17:51
Tak bym to zrobił (zakładając, że rozumiem pytanie)
SELECT * FROM pieces ORDER BY price ASC LIMIT 1
Jeśli próbujesz wybrać wiele wierszy, w których każdy z nich może mieć tę samą cenę (co jest minimum), odpowiedź @JohnWoo powinna wystarczyć.
Zasadniczo tutaj po prostu zamawiamy wyniki według ceny w porządku rosnącym (rosnącym) i pobieramy pierwszy wiersz wyniku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-13 07:58:35
Użyj mając MIN (...)
Coś w stylu:
SELECT MIN(price) AS price, pricegroup
FROM articles_prices
WHERE articleID=10
GROUP BY pricegroup
HAVING MIN(price) > 0;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-17 12:34:41
To również działa:
SELECT
pieces.*
FROM
pieces inner join (select min(price) as minprice from pieces) mn
on pieces.price = mn.minprice
(ponieważ ta wersja nie ma warunku where z zapytaniem podrzędnym, może być używana, jeśli chcesz zaktualizować tabelę, ale jeśli musisz tylko wybrać, polecam użycie rozwiązania John Woo)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-13 08:32:04
W rzeczywistości, zależy co chcesz dostać: - Tylko wartość min:
SELECT MIN(price) FROM pieces
Tabela (wielokrotność wierszy) o wartości min: jest jak John Woo powiedział powyżej.
-
Ale, jeśli mogą być różne wiersze o tej samej wartości minimalnej, najlepiej jest zamówić je z innej kolumny, ponieważ po lub później będziesz musiał to zrobić (zaczynając od John Woo answere):
SELECT * FROM pieces Gdzie cena = (wybierz MIN (cena) z Sztuk) ORDER BY stock ASC
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-10 18:48:21
Aby uprościć
Wybierz*, MIN (cena) z prod LIMIT 1
- Umieść * tak, aby wyświetlał cały rekord minimalnej wartości
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-03 12:41:00