Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1148234
  • 博文数量: 286
  • 博客积分: 11086
  • 博客等级: 上将
  • 技术积分: 3245
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 17:06
个人简介

闻鸡起舞

文章分类

全部博文(286)

文章存档

2020年(9)

2019年(9)

2018年(6)

2017年(10)

2016年(10)

2014年(3)

2013年(4)

2011年(12)

2010年(16)

2009年(14)

2008年(125)

2007年(48)

2006年(20)

我的朋友

分类: Mysql/postgreSQL

2020-10-29 16:21:12

The Row Holding the Maximum of a Certain Column

Task: Find the number, dealer, and price of the most expensive article.

This is easily done with a subquery:

SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop);

Other solutions are to use a LEFT JOIN or to sort all rows descending by price and get only the first row using the MySQL-specific LIMIT clause:

SELECT s1.article, s1.dealer, s1.price
FROM shop s1
LEFT JOIN shop s2 ON s1.price < s2.price
WHERE s2.article IS NULL;

SELECT article, dealer, price
FROM shop ORDER BY price DESC
LIMIT 1;

Note

If there were several most expensive articles, each with a price of 19.95, the LIMIT solution would show only one of them.

阅读(180) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~