您的位置:首页 > 数据库 > MySQL

MySQL笔记--查询语句实践

2016-04-14 16:40 661 查看
有一个用户表,属性为 id,age,buytime

创建表以及插入数据的语句

CREATE TABLE USER(
id INT,
age INT,
buytime INT
)

INSERT INTO USER VALUES(1000,10,1);
INSERT INTO USER VALUES(1000,10,2);
INSERT INTO USER VALUES(1000,10,3);
INSERT INTO USER VALUES(1001,11,1);
INSERT INTO USER VALUES(1001,11,2);
INSERT INTO USER VALUES(1001,11,4);
INSERT INTO USER VALUES(1002,13,2);
INSERT INTO USER VALUES(1002,13,5);
INSERT INTO USER VALUES(1004,10,2);
INSERT INTO USER VALUES(1004,10,4);
INSERT INTO USER VALUES(1004,10,5);


查询:

1. buytime(购买时间)在1和3之间(包含1和3)的用户年龄分布情况

方法:先查询出购买时间在1和3之间的用户的年龄,然后对结果根据年龄分组,计算每个分组的数量

SELECT age,COUNT(*)
FROM(
SELECT age
FROM USER
WHERE buytime >0 AND buytime < 4
)
AS agenum
GROUP BY age


注意:上面的AS agenum是不可缺少的,作为表的别名(虽然在这里没有使用到)

2.每一个用户购买时间在1到3的id 年龄 购买数量

SELECT id,age, COUNT(*) num
FROM USER
WHERE buytime >0 AND buytime < 4
GROUP BY id


创建表以及插入数据的语句

CREATE TABLE USER(
id INT,
age INT,
buytime INT
)

SELECT * FROM USER

INSERT INTO USER VALUES(1000,10,1);
INSERT INTO USER VALUES(1000,10,2);
INSERT INTO USER VALUES(1000,10,3);
INSERT INTO USER VALUES(1001,11,1);
INSERT INTO USER VALUES(1001,11,2);
INSERT INTO USER VALUES(1001,11,4);
INSERT INTO USER VALUES(1002,13,2);
INSERT INTO USER VALUES(1002,13,5);
INSERT INTO USER VALUES(1004,10,2);
INSERT INTO USER VALUES(1004,10,4);
INSERT INTO USER VALUES(1004,10,5);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: