一些简单sql

SELECT
count(0) as totalNum,
sum(CASE WHEN learn_status = '1' AND subject_type = '3' AND STATUS = '1' THEN 1 ELSE 0 END) AS km1,
sum(CASE WHEN learn_status = '1' AND subject_type = '4' AND STATUS = '1' THEN 1 ELSE 0 END) AS km2,
sum(CASE WHEN learn_status = '1' AND subject_type = '5' AND STATUS = '1' THEN 1 ELSE 0 END) AS km3,
sum(CASE WHEN learn_status = '1' AND subject_type = '6' AND STATUS = '1' THEN 1 ELSE 0 END) AS km4
FROM
sm_student t
WHERE 1 = 1 AND school_id =1

 

按照学校找到科目3,4,5,6汇总的人数

 

 

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

 

三、update

UPDATE sm_student SET card_type = 1 and card_no = "123456789" and last_updated_date=CURDATE() and created_by=22 where id=89

set改变的值用and链接,是与的判断,不能改变值。用,隔开

 

四、SHOW TABLE STATUS;

这是显示mysql中所有的表的状态

这个是mysql的序列

 

五、show OPEN TABLES where In_use > 0;

mysql查询所有被锁住的表

 

六,拼接查询 用逗号拼接查询的字段

SELECT
GROUP_CONCAT(t1.name)
FROM
sm_coach_vehicle_kind t
INNER JOIN sm_vehicle_kind t1 on t.vehicle_kind_id=t1.id
where t.coach_id=#{coachId}

 

posted @ 2017-04-17 15:10  无敌的小小哒  阅读(195)  评论(0编辑  收藏  举报