sql 备忘

MySQL5.1:

 

create table score(
    考号 char(6),
    考场 char(2),
    单位 varchar(20),
    总名次 integer,
    校名次 integer,
    姓名 varchar(10),
    性别 varchar(2),
    语文 numeric(5,1),
    数学 numeric(5,1),
    物理 numeric(5,1),
    化学 numeric(5,1),
    外语 numeric(5,1),
    政治 numeric(5,1)
);

 

 

insert into score values('040001', '1', 'shihe', 964, 219, 'dong', '女', 43.0, 13.0, 1.0, 2.0, 1.0, 1.0);
insert into score values('040002', '1', 'hailin', 964, 219, 'zhao', '男', 3.0, 23.0, 91.0, 2.0, 1.0, 1.0);
insert into score values('040003', '1', 'shihe', 964, 219, 'qian', '女', 23.0, 33.0, 1.0, 2.0, 1.0, 11.0);
insert into score values('040004', '1', 'xinhe', 964, 219, 'sun', '男', 63.0, 43.0, 1.0, 2.0, 51.0, 1.0);
insert into score values('040005', '1', 'shihe', 964, 219, 'li', '女', 93.0, 53.0, 1.0, 62.0, 1.0, 1.0);
insert into score values('040006', '1', 'hailin', 964, 219, 'zhou', '女', 13.0, 63.0, 81.0, 2.0, 1.0, 1.0);
insert into score values('040007', '1', 'shihe', 964, 219, 'wu', '女', 3.0, 73.0, 1.0, 62.0, 31.0, 21.0);

 

 

select 单位,
    sum( case when 语文>=60.0 then 1 else 0 end ) as 语文及格人数,##/count(*)可以得到及格率
    sum( case when 数学>=60.0 then 1 else 0 end ) as 数学及格人数,
    sum( case when 物理>=60.0 then 1 else 0 end ) as 物理及格人数,
    sum( case when 化学>=60.0 then 1 else 0 end ) as 化学及格人数,
    sum( case when 外语>=60.0 then 1 else 0 end ) as 外语及格人数,
    sum( case when 政治>=60.0 then 1 else 0 end ) as 政治及格人数 
from score
group by 单位

   

 

 

2.日期格式化

  

SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006

 

  3.MySQL 远程登陆

  

grant all on *.* to 'root'@'%' identified by 'root帐号对应的密码';

 

你可能感兴趣的:(sql,sun)