sql语句,哪有问题,求解答

img


CREATE TABLE `orders` (
  `OrdNo` int(11),   --订单编号
  `Sid` varchar(10), --供应商编号
  `Eid` varchar(10), --职工编号
  `Pid` varchar(20), --商品编号
  `Price` decimal(10,2), --价格
  `QTY` int(11),     --订购数量
  `ordDate` date    --订单日期
);

img

select  Sid
from orders
where QTY =(
  select max(QTY)
  from orders
)

img

select Sid  from orders group by Sid order by sum(QTY) desc limit 1

你查询的是单一订单订购数量
销售数量=订购数量*价格
而这只是其中一个订单,你要把同一供应商的订单都加起来才是总的销售数量
所以需要嵌套sum,group by

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/257739
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:sql查询语句,单表,多表
  • 除此之外, 这篇博客: sql语句练习题,答案中的 第六节 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1【复习】列出所有加拿大人的Canadian信息(包括所有字段)
    答案:SELECT * FROM north_american_cities WHERE Country = ‘Canada’
    2【复习】列出所有在Chicago西部的城市,从西到东排序(包括所有字段)
    答案:SELECT * FROM north_american_cities WHERE Longitude<-87.629798 ORDER BY Longitude DESC
    3【复习】用人口数population排序,列出墨西哥Mexico最大的2个城市(包括所有字段)
    答案:SELECT * FROM North_american_cities WHERE Country=‘Mexico’ ORDER BY Population ASC LIMIT 2 OFFSET 1
    4【复习】列出美国United States人口3-4位的两个城市和他们的人口(包括所有字段)
    答案:SELECT * FROM North_american_cities WHERE country = ‘United States’ ORDER BY Population DESC LIMIT 2 OFFSET 2

  • 您还可以看一下 刘海龙老师的sql注入视频教程课程中的 课程介绍小节, 巩固相关知识点