一、启动mysql
sudo service mysql start;
mysql -u root;
二、创建表
CREATE DATABAE test;
USE test;
#创建表
CREATE TABLE shop(
article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
dealer VARCHAR(20) DEFAULT '' NOT NULL,
price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
PRIMARY KEY(article, dealer));
);
#插入数据
mysql> 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);
三、函数
3.1 寻找列的最大值
使用MAX() 求article的最大值:
SELECT MAX(article) as articleMax FROM shop;
求某列最大值所在的行:
#显示price最大值的行
SELECT * FROM shop WHERE price = (SELECT MAX(price) FROM shop);
另一种方法:将按照price排序, 让后使用MySQL中的limit子句来获取第一行即最大行:
#按照价格降序排序
SELECT * FROM shop ORDER BY price DESC;
#使用limit 获取指定行
SELECT * FROM shop ORDER BY price DESC LIMIT 1;
注:如果有多项物品的价格都是19.95(最贵的物品不止一个),那么LIMIT的显示结果也只会显示其中一个
3.2 分组 group bySELECT article, MAX(price) as max FROM shop
GROUP BY article;