zoukankan      html  css  js  c++  java
  • mysql常用sql

    1.微博表blogs:

    微博评论表blogs_comm:

    两表联合查询将微薄信息跟评论数一起列出的sql语句:

    select b.*,count(c.bid) as num from blogs as b left join blogs_comm as c on b.id=c.bid group by c.bid order by b.id

    结果:

    2.查询一个表t1中某字段(name)同时出现两次的字段名:

    表t1数据如下:

    select count(1) as num,name from t1 group by name having num=2;

    注:如果要对两个字段进行排重,就应该这样写:

    select count(1) from t1 group by concat(name,time);

    结果:

    查询一个表图t1中某字段(name)同时出现两次的记录:

    select * from t1 as t where 2=(select count(1) from t1 where t1.name=t.name);

    结果:

    3.distinct去除重复值:

    如下表t1:去除重复的uid(重复的只保留前一条)

    (1)select *,count(distinct(uid)) from t1 group by uid;

    结果:

    (2).如果想在重复的列表中按一定的顺序,只取其中一条:

    select *,count(distinct(uid)) from(select * from t1 order by time desc) as t2 group by uid;

    结果:

    4.一条语句删除多个表的数据:

    delete b,c from blogs as b left join comment as c on b.id=c.wid left join collect as l on b.id=l.wid where b.id=27;

    5.一条sql语句查询a表主键id关联b表sid的多条记录,并按b表的主键id倒叙排列,同时只显示a表中有的记录:

    select *,a.id as aid from  a left join (select * from b order by id desc) as i on a.id=i.sid group by i.sid;

    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    要开学了,暂时停更
    day13 IP包头分析 | 路由器原理 1
    day12 数据链路层 | 交换机基本命令
    day11 OSI与TCP-IP 5层协议 | 物理层相关知识
    day10 扫描与爆破
    day 09 简单渗透测试
    day07 PKI
    day07 域
    day06 WEB服务器 | FTP服务器
    day05 DHCP部署与安全 | DNS部署与安全
  • 原文地址:https://www.cnblogs.com/zrp2013/p/2994027.html
Copyright © 2011-2022 走看看