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,3),(2000,2,3);
示例表中含有代表用户访问网页的年-月-日值。可以使用以下查询来确定每个月的访问天数:
SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1
GROUP BY year,month;
将返回:
+------+-------+------+
| year | month | days |
+------+-------+------+
| 2000 | 01 | 3 |
| 2000 | 02 | 2 |
+------+-------+------+
该查询计算了在表中按年/月组合的不同天数,可以自动去除重复的询问。
<<位运算 使1左移了day位。
1<<2=0100 1<<3=1000
bit_or:相同值or运算后值一样,最后把不一样的值加起来。
1000 or 1000 or 0100 = 1100
bit_count:统计被制1的个数。
bit_count(1100) = 2;
说白了意思就是统计被制1的个数。
这个统计还可以这样写:select year, month, count(distinct day) from t1 group by year, month;
分享到:
相关推荐
7. 位操作函数:如BIT_AND()、BIT_OR()和BIT_XOR()用于进行二进制位运算。 8. 信息函数:如DATABASE()返回当前数据库名,USER()获取当前用户名,VERSION()显示MySQL版本信息。 手册还可能包含关于聚合函数(如...
8. **位操作函数**:对于需要进行二进制位操作的场景,MySQL提供了BIT_AND(), BIT_OR(), BIT_XOR()等函数。 在学习过程中,你将通过实际操作和案例分析来理解并掌握这些函数的用法,从而提升你在MySQL数据库管理和...
2. **位操作**:`BIT_AND()`, `BIT_OR()`, `BIT_XOR()`进行位运算,`BIT_COUNT()`计算位集中的1的个数。 这些函数在实际开发中非常常用,理解并熟练运用它们能极大地提高数据库操作的效率。例如,在数据分析时,...
ACOS, ADDTIME, AES_DECRYPT, AES_ENCRYPT, ANY_VALUE, ASCII, ASIN, ATAN, ATAN2, BINARY, BIT_COUNT, BIT_XOR, CAST, CEIL, CHAR_LENGTH, COLLATE, CONCAT_WS, CONVERT_TZ, COS, COT, COUNTIF, CRC32, DATE, DATE...
- 包括位函数(如 `BIT_AND`, `BIT_OR`),加密函数(如 `ENCRYPT`, `AES_ENCRYPT`),信息函数(如 `USER`, `DATABASE`)以及其他特殊用途的函数。 10. **与GROUP BY子句同时使用的函数**: - `GROUP BY` 用于对...
- `BIT_OR`:按位或。 - `BIT_AND`:按位与。 #### 控制流函数 控制流函数可用于根据条件改变SQL语句的行为,如: - `IFNULL`:如果第一个参数为 `NULL`,则返回第二个参数;否则返回第一个参数。 - `NULLIF`:...
例如,BIT_LENGTH('text')返回32,因为'text'在二进制中占用32位。 4. CHAR(N,... [USING charset]): CHAR函数将每个参数`N`视为一个整数并返回由这些整数对应的字符组成的字符串。NULL值被忽略。例如,CHAR(77,121...
- **BIT_LENGTH(str)**: 返回字符串`str`的比特长度。 - **CONCAT(s1, s2, ..., sn)**: 连接多个字符串`s1, s2, ..., sn`。 - **CONCAT_WS(sep, s1, s2, ..., sn)**: 使用分隔符`sep`连接多个字符串`s1, s2, ..., sn...
- **BIT_LENGTH(str)**:返回字符串的比特长度。 - 示例:`BIT_LENGTH('abc')`返回24。 - **CONCAT(s1, s2, ..., sn)**:将多个字符串连接成一个字符串。 - 示例:`CONCAT('Hello', 'World')`返回`'HelloWorld'`。...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理各种数据。在本场景中,我们主要涉及了四个数据库表:`...在实际开发中,MySQL还提供了事务处理、视图、存储过程等功能,以支持更高级的应用场景。
- 分组统计:`SELECT age, COUNT(1) FROM emp GROUP BY age [WITH ROLLUP] HAVING COUNT(1) > 1;` - 多表联合查询:`SELECT ename, name FROM emp LEFT JOIN emp1 ON emp.ename = emp1.name;` - 子查询:`SELECT ...
1、count(*) 表示计算总行数,()中可以写*或列名 2、max(列名) 表示求此列的最大值 3、min(列名) 表示求此列的最小值 4、sum(列名) 表示求此列的和 5、avg(列名) 表示求平均数值 需求:查询女生id的...
10. SQL 语言的标准库函数 COUNT、SUM、AVG、MAX 和 MIN 等,不允许出现在 WHERE 子句中。 11. 建立唯一性索引的命令是 CREATE UNIQUE INDEX 索引名 ON 基本表名(属性名)。 12. 使用 T-SQL 语句从学生表中查询学号...
- **BIT_LENGTH(STR)**:返回字符串的比特长度。 - 示例:`SELECT BIT_LENGTH('hello');` 返回 `40`。 - **CONCAT(S1, S2, Sn)**:将多个字符串连接成一个字符串。 - 示例:`SELECT CONCAT('Hello, ', 'World!');...
- BIT_LENGTH(str):返回字符串的比特长度。 - CONCAT(s1, s2, ..., sn):将多个字符串s1, s2, ..., sn连接成一个字符串。 - CONCAT_WS(sep, s1, s2, ..., sn):与CONCAT类似,但使用sep作为分隔符。 - INSERT...
2. **BIT_LENGTH(str)**: 返回字符串的比特长度。 - 例如:`BIT_LENGTH('test')` 返回 `32`。 3. **CONCAT(s1,s2,...,sn)**: 将多个字符串连接成一个新的字符串。 - 例如:`CONCAT('Hello', 'World')` 返回 `'...
MySQL中的字符串处理函数是数据库操作中非常常用的一类函数,它们可以帮助我们对字符串进行各种操作,如拼接、截取、查找、转换等。以下是对这些函数的详细说明: 1. **ASCII(char)**:返回字符串中第一个字符的...
MySQL 5.0是MySQL数据库管理系统的一个重要版本,它在SQL查询、性能...无论是初学者还是经验丰富的数据库管理员,都能在MySQL 5.0中找到适合自己的工具和方法。为了充分利用其潜力,建议深入学习其核心概念和最佳实践。
### MySQL入门很简单—学习笔记...以上是对《MySQL入门很简单》学习笔记中提到的关键知识点进行了详细的梳理和扩展。这些知识点涵盖了从数据库的基本概念到具体操作的各个方面,对于初学者来说是非常宝贵的学习资料。
2. BIT_LENGTH(str):返回字符串的比特长度 3. CONCAT(s1,s2...,sn):将 s1,s2...,sn 连接成字符串 4. CONCAT_WS(sep,s1,s2...,sn):将 s1,s2...,sn 连接成字符串,并用 sep 字符间隔 5. INSERT(str,x,y,instr):将...