相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.3 mb
PDF (A4)- 36.4 mb
PDF (RPM)- 35.5 mb
HTML下载(TGZ)- 9.3 mb
HTML下载(Zip)- 9.4 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 235.6 kb
手册页(Zip)- 347.1 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

MySQL 5.7参考手册/.../ 持有某列的分组最大值的行

3.6.4某列的组最大值行数

任务:针对每一件商品,找到价格最高的经销商或经销商。

这个问题可以用这样的子查询来解决:

SELECT article, dealer, price FROM shop s1 WHERE price=(SELECT MAX(s2.price) FROM shop s2 WHERE s1. price)article = s2.article)按文章排序;+---------+--------+-------+ | 文章| |经销商价格  | +---------+--------+-------+ | 0001 B | | 3.99 | | 0002 | | 10.99 | | 0003 | | 1.69加元| | 0004 | | 19.95  | +---------+--------+-------+

前面的示例使用了一个相关的子查询,这可能效率很低(请参阅13.2.10.7节,“相关子查询”).类中的不相关子查询是解决该问题的其他可能方法条款或左连接

不相关子查询:

选择s1。文章,经销商,s1。price FROM shop s1 JOIN (SELECT article, MAX(price) AS price FROM shop GROUP BY article) AS s2 ON s1。Article = s2。article AND s1。价格= s2。按商品订购价格;

左连接

选择s1。文章,s1.经销商,s1。从商店s1左加入商店s2上s1。Article = s2。article AND s1。价格< s2。WHERE s2的价格。article是NULL ORDER BY s1.article;

左连接工作的基础是当s1.price在它的最大值时,没有s2.price具有较大的值,因而相应s2.article值是.看到第13.2.9.2节“JOIN子句”