mysql - mysql - 如何为列创建 id 列
问题描述
我想创建一个有 3 列的表:
- visit_times :每个特定访问者都有一个唯一的 id
- 访客ID
- 日期
我尝试创建表格以显示此代码
创建表
test
。table
(visit_times
INT NOT NULL AUTO_INCREMENT ,visitor_ID
INT NOT NULL ,Date
VARCHAR NOT NULL , UNIQUEUnique column
(visit_times
,visitor_ID
)) ENGINE = MyISAM;
但是当我将这些数据存储到表中时
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("1", "15/05/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("1", "20/07/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("2", "02/09/2021");
INSERT INTO `tab`(`visitor_ID`, `date`) VALUES ("3", "24/08/2021");
结果会是这样
访问时间 | 访客ID | 日期 |
---|---|---|
1 | 1 | 15/05/2021 |
2 | 1 | 20/07/2021 |
3 | 2 | 2021 年 2 月 9 日 |
4 | 3 | 24/08/2021 |
以及我真正想要的结果
访问时间 | 访客ID | 日期 |
---|---|---|
1 | 1 | 15/05/2021 |
2 | 1 | 20/07/2021 |
1 | 2 | 2021 年 2 月 9 日 |
1 | 3 | 24/08/2021 |
服务器版本:8.0.21 - MySQL 社区服务器 - GPL
我使用 Wampserver 版本 3.2.3 - 64bit
阿帕奇版本:2.4.46
感谢您的帮助
解决方案
您可以使用row_number()
:
select row_number() over (partition by ID_of_visiter order by timecol) as num_of_visit,
t.*
from t;
推荐阅读
- javascript - 如何使用JS查询父支付记录。o查询
- python - 如何检测 BeautifulSoup.find_all 找到的标签是否是搜索字符串中的第一个/最后一个标签?
- javascript - 以函数为参数的 Vue 无限 UI 更新循环
- sql - BigQuery - 根据另一个表中的值删除
- pip - 如何更新 xarray?
- sql - MSSQL 将 .ToString 添加到日期字段
- r - text>:6:0: knitr 包中的输入意外结束
- ejabberd - 切换到 Ejabberd 登录
- pdf-generation - 如何使用python将pdf的每一页转换为pdf对象
- geopandas - 更改 CCRS 后形状消失