zoukankan      html  css  js  c++  java
  • mysql高级

    1.UNSIGNED无符号类型  ZEROFILL用0填充以满足数据长度。

    2.bit_count(data):data的二进制数包含1的个数;mysql> select bit_count(3);结果为2

       bit_or():    按位或运算
       bit_and():按位与运算

      例如:

    CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,
                 day INT(2) UNSIGNED ZEROFILL);
    INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),
                (2000,2,23),(2000,2,23);

    求上表中:每月的访问量?

    SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1
           GROUP BY year,month;|

    由于1<<day 如果day数据相同,那么运算后的结果是一样的。bit_or运算后对应位1和1或运算结果还是1.这样就达到了去重的效果。

    3.用于某个字段组间最大值的行:

    SELECT article, dealer, price
    FROM   shop s1
    WHERE  price=(SELECT MAX(s2.price)
                  FROM shop s2
                  WHERE s1.article = s2.article);

      或者
       SELECT article,dealer,price from shop 
        where price in (select max(s2.price) from shop s2 group by article);
    4.

  • 相关阅读:
    课程设计第三次实验总结
    课程设计第二次实验总结
    2019春第一次课程设计实验报告
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/chengxuyuan-liu/p/11981474.html
Copyright © 2011-2022 走看看