最近团队在搭建新的测试环境,在搭建过程中需要建立对应的新的MySQL数据库。在搭建新的数据库过程中,遇到了几个字符集相关的问题,比如:如何查看库的字符集,如何查看表的字符集,charset和collation的区别是什么。这里做一个记录和总结。

阅读全文 »

难度系数: 简单

表:Users

1
2
3
4
5
6
7
8
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| name | varchar |
+---------------+---------+
id 是该表单主键。
name 是用户名字。

表:Rides

1
2
3
4
5
6
7
8
9
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| user_id | int |
| distance | int |
+---------------+---------+
id 是该表单主键。
user_id 是本次行程的用户的 id, 而该用户此次行程距离为 distance 。

写一段 SQL , 报告每个用户的旅行距离。

返回的结果表单,以 travelled_distance 降序排列 ,如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列

阅读全文 »

难度系数: 简单

部门表 Department:

1
2
3
4
5
6
7
8
9
10
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| revenue | int |
| month | varchar |
+---------------+---------+
(id, month) 是表的联合主键。
这个表格有关于每个部门每月收入的信息。
月份(month)可以取下列值 ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]。

编写一个 SQL 查询来重新格式化表,使得新的表中有一个部门 id 列和一些对应 每个月 的收入(revenue)列。

阅读全文 »

难度系数: 简单

Views 表:

1
2
3
4
5
6
7
8
9
10
11
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| article_id | int |
| author_id | int |
| viewer_id | int |
| view_date | date |
+---------------+---------+
此表无主键,因此可能会存在重复行。
此表的每一行都表示某人在某天浏览了某位作者的某篇文章。
请注意,同一人的 author_id 和 viewer_id 是相同的。

请编写一条 SQL 查询以找出所有浏览过自己文章的作者,结果按照 id 升序排列。

阅读全文 »

你是不是正在遇到以下问题

  1. 在采用MyBatis框架时,每新增一个表,都需要对着表手工写一遍数据库模型类,手工新增相应的mapper接口类,手工新增相应的mapper.xml文件;
  2. 手工编写xml文件时,有时还会漏了映射某个字段,或者写错了某些字母符合,然后到启动项目后才发现。

MyBatis Generator 可以高效帮你解决这些问题。

阅读全文 »

作者:马歇尔·卢森堡(Marshall B.Rosenberg)
推荐系数:3/5
全书先用了将近二分之一的篇幅介绍非暴力沟通的四个步骤:观察、感受、需求、请求。不带评论客观地观察,清晰明确地体会和表达感受,允许自己表达感受、袒露脆弱,提出请求时,尽力避免模糊、抽象或模棱两可的语言,说清楚我们要什么,而不是不要什么。
接着用了也差不多二分之一的篇幅介绍如何用同理心去连接他人、爱自己以及调和纷争。爱自己那一章挺好的:学会善待自己,犯了错误时要自我宽恕看清个人可以成长的方向。
最后一章讲了如何用非暴力沟通的方式表达感激与赞赏,向他人表达感激时,庆祝是我们的唯一意图,要表达出对方做了什么是我们的哪些需要得到了满足,并令我们产生了什么样的愉悦感受。
书里包含了大量的对话,不知是因为文化差异的原因,还是翻译的原因,看的时候心里总会冒出一个想法:作者怎么一个接着一个这么多问题?
就像朋友说的,除非是在很安全友好的情况下展开的交流,不然我会本能地排斥一连串的发问。
通篇读下来,个人的总结就是,

  1. 与他人沟通时,要设身处地换位思考,交流以达成清晰一致的意见及解决办法;
  2. 爱自己,犯错误不可怕,但是要能吃一堑长一智,不能持续懊悔过去;
  3. 感激他人时,要具体地表达出因什么而感激。

难度系数: 简单
活动记录表:Activity

1
2
3
4
5
6
7
8
9
10
11
12
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| user_id | int |
| session_id | int |
| activity_date | date |
| activity_type | enum |
+---------------+---------+
该表是用户在社交网站的活动记录。
该表没有主键,可能包含重复数据。
activity_type 字段为以下四种值 ('open_session', 'end_session', 'scroll_down', 'send_message')。
每个 session_id 只属于一个用户。

请写SQL查询出截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)。

任意顺序 返回结果表。

阅读全文 »

难度系数: 中等
活动表 Activity:

1
2
3
4
5
6
7
8
9
10
11
+--------------+---------+
| Column Name | Type |
+--------------+---------+
| player_id | int |
| device_id | int |
| event_date | date |
| games_played | int |
+--------------+---------+
表的主键是 (player_id, event_date)。
这张表展示了一些游戏玩家在游戏平台上的行为活动。
每行数据记录了一名玩家在退出平台之前,当天使用同一台设备登录平台后打开的游戏的数目(可能是 0 个)。

写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期

阅读全文 »

难度系数: 中等
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

你必须设计并实现时间复杂度为 O(logn)O(log n) 的算法解决此问题。

阅读全文 »

难度系数: 简单

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。

假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。

你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。

阅读全文 »
0%