mysql - 我怎样才能使用带数字的coloum才能找到日期的coloumn?
问题描述
我是 SQL 新手。我想按日期的另一列的顺序对数字列进行排序,我也想保存它。我只是不想要表格或报告。我想保存它
例如,我有一个包含以下列的表:
factorno spdate sc
1 2019-10-06 1
1 2019-10-07 2
2 2019-10-08 2
现在我想像这样更新 factorno 列:
factorno spdate sc
1 2019-10-06 1
2 2019-10-07 2
3 2019-10-08 2
请帮我
解决方案
这看起来像一个过于简单的问题,但您可以使用一个变量来生成一个新的 factorno
drop table if exists t;
create table t
(factorno int, spdate date, sc int);
insert into t values
( 1 , '2019-10-06' , 1),
( 1 , '2019-10-07' , 2),
( 2 , '2019-10-08' , 2);
update t join (select spdate,@rn := @rn + 1 rn from t cross join (select @rn:=0) r order by spdate) s
on s.spdate = t.spdate
set factorno = s.rn
where 1 = 1;
select * from t;
+----------+------------+------+
| factorno | spdate | sc |
+----------+------------+------+
| 1 | 2019-10-06 | 1 |
| 2 | 2019-10-07 | 2 |
| 3 | 2019-10-08 | 2 |
+----------+------------+------+
3 rows in set (0.01 sec)
如果您使用的是版本 8 或更高版本,则可以使用 row_number 函数。顺便说一句,存储在 sql 中的数据没有特定的顺序,你总是必须使用 ORDER BY 来按你想要的顺序获取数据,所以我看不到重建 factorno 有什么好处。
推荐阅读
- c# - jQuery addClass to HTML Anchor 首次工作
- pine-script - Tradingview Pine 脚本为线条绘制功能提供分辨率错误
- ios - 通过 NSPersistentCloudKitContainer 更新 iCloud Scheme 到最新的 Core Data 版本
- c# - 将填充了位和字节的 ushort[] 反序列化为自定义对象
- reactjs - React Native Drawer Navigator,如何添加图标和图像?
- c++ - “条件跳转或移动取决于未初始化的值”使用 ucontext_t
- pandas - 在 Dask 中使用 pandas cut 功能
- oauth-2.0 - Amplify/Cognito oauth 联合登录(Google),不显示弹出窗口,而是在同一页面中重定向
- firebase - React-native-Firebase:“auth/network-request-failed”
- angular - 在 Angular 中向 ckeditor 添加简单的上传适配器