Database
 sql >> база данни >  >> RDS >> Database

Как да намерите максимални стойности в редове

Проблем:

Искате да намерите кои редове съхраняват най-голямата числова стойност в дадена колона.

Пример:

Нашата база данни има таблица с име student с данни в следните колони:id , first_name , last_name и grade .

id first_name фамилно_име клас
1 Лиза Джаксън 3
2 Гари Лари 5
3 Том Мишлен 2
4 Мартин Баркър 2
5 Ели Черно 5
6 Мери Симпсън 4

Нека намерим учениците с най-високи оценки.

Решение:

SELECT  id, first_name, last_name, grade
FROM student
WHERE grade = (SELECT MAX(grade) FROM student);

Ето резултата:

id first_name фамилно_име клас
2 Гари Лари 5
5 Ели Черно 5

Дискусия:

За да намерите максималната стойност на колона, използвайте MAX() агрегатна функция; необходимо е име на колона или израз, за ​​да се намери максималната стойност. В нашия пример подзаявката връща най-високото число в оценката на колоната (подзаявка:SELECT MAX(grade) FROM student ). Основната заявка показва идентификатор, име и фамилия и тяхната оценка. За показване само на редовете с максимална стойност сред всички стойности в колоната (напр. SELECT MAX(grade) FROM student ), използвайте WHERE с подзаявка. В WHERE поставете името на колоната със сравнимата стойност към стойността, върната от агрегатната функция в подзаявката (в нашия пример:WHERE grade = (SELECT MAX(grade) FROM student) ).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете репликация на моментна снимка

  2. Съхранение на данни:REST срещу POSIX за архиви и HSM

  3. Разбиране на 3-те ключови характеристики на големите данни

  4. Модел на данни за търговия с акции, фондове и криптовалути

  5. Работа с JavaFX UI и JDBC приложения