| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- drop database if exists sharebike;
- create database sharebike default charset utf8;
- use sharebike;
- create table tb_city
- (
- cityid integer not null auto_increment,
- cityname varchar(20) not null,
- primary key (cityid)
- );
- create table tb_user
- (
- userid integer not null auto_increment,
- nickname varchar(50) not null,
- tel char(11) not null,
- cityid integer not null,
- regdate date,
- primary key (userid)
- );
- create table tb_bike
- (
- bikeid integer not null auto_increment,
- statecode integer default 0,
- broken bit default 0,
- primary key (bikeid)
- );
- create table tb_record
- (
- recordid integer not null auto_increment,
- userid integer not null,
- bikeid integer not null,
- begintime datetime not null,
- endtime datetime,
- payway integer,
- cost float,
- primary key (recordid)
- );
- alter table tb_record add constraint fk_record_userid foreign key (userid) references tb_user (userid);
- alter table tb_record add constraint fk_record_bikeid foreign key (bikeid) references tb_bike (bikeid);
- select cityname, total from (select cityid, count(cityid) as total from tb_user group by cityid) t1 inner join tb_city t2 on t1.cityid=t2.cityid;
- select max(total) from (select userid, count(userid) as total from tb_record group by userid) t1
- select nickname, cityname from (select userid, count(userid) as total from tb_record group by userid having total=(select max(total) from (select userid, count(userid) as total from tb_record group by userid) t1)) t2 inner join tb_user as t3 on t2.userid=t3.userid inner join tb_city as t4 on t3.cityid=t4.cityid;
- select bikeid, broken from tb_bike
|