學習MySQL:九:常見查詢示例

目錄

一:目的

1、想知道::常見查詢示例

二、參考

1、MySQL 8 的學習——7常見查詢示例

三、操作

1、創建一個可供測試的表

2、查詢一下 shop 表

3、列的最大值:查詢最高的 article  編號

4、查詢某列最大值的行

①方法一:

②方法二:

③方法三:使用特定於MySQL的LIMIT子句獲取第一行

5、每組最大列數:找到每篇文章的最高價格。

6、保持某一列的分組最大值的行


一:目的

1、想知道::常見查詢示例

 

二、參考

1、MySQL 8 的學習——7常見查詢示例

https://blog.csdn.net/zjy_android_blog/article/details/81741916

①總結:good:很好,我操作就是按照作者的來進行練習的,

 

三、操作

1、創建一個可供測試的表

 CREATE TABLE shop(article int(4) unsigned zerofill default '0000' not null,
    -> dealer char(20) default '0000' not null,
    -> dealer char(20) default '0000' not null,\c
 CREATE TABLE shop(article int(4) unsigned zerofill default '0000' not null,
    -> dealer CHAR(20)        DEFAULT ''    NOT NULL,
    -> price  DOUBLE(16,2)    DEFAULT '0.00'NOT NULL,
    -> PRIMARY KEY(article,dealer));

 

 INSERT INTO shop VALUES
    -> (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
    -> (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);

 

2、查詢一下 shop 表

SELECT *FROM shop;

 

3、列的最大值:查詢最高的 article  編號

 

SELECT MAX(article) AS article FROM shop;

 

4、查詢某列最大值的行

①方法一:

 

任務:查找最昂貴文章的編號,經銷商和價格。

這可以通過子查詢輕鬆完成:

 ##任務:查找最昂貴文章的編號,經銷商和價格。
 ##這可以通過子查詢輕鬆完成:

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

 

②方法二:

查詢某列最大值的行:其他解決方案是使用a LEFT JOIN或者按價格降序排序所有行,並使用特定於MySQL的LIMIT子句獲取第一行:

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

 

③方法三:使用特定於MySQL的LIMIT子句獲取第一行

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

 

5、每組最大列數:找到每篇文章的最高價格。

 

 SELECT article,MAX(price) AS price FROM shop GROUP BY article;

 

6、保持某一列的分組最大值的行

任務:對於每篇文章,找到價格最貴的經銷商或經銷商。

這個問題可以通過像這樣的子查詢來解決:

##對於每篇文章,找到價格最貴的經銷商或經銷商。
 ##這個問題可以通過像這樣的子查詢來解決:
SELECT article,dealer,price FROM shop s1 WHERE price=(SELECT MAX(s2.price)FROM shop s2 WHERE s1.article=s2.article);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章