javascript - 如何将给定表的整数列显示为从 1 开始的自动递增系列给前端用户?

标签 javascript java sql-server

我正在编写一个充当任务/项目管理器的全栈应用程序。它充当一个具有拖放功能的大 table ,允许高层管理人员重新确定任务/项目的优先级。这是高层管理人员所看到的。

 -----------------------------------------
|Priority| Task                 | Resource|
 -----------------------------------------
|    1   | Write some code      | Arya S. |
 -----------------------------------------
|    2   | Write a spec.        | Bran S. |
 -----------------------------------------
|    3   | Write some code      | Bran S. |
 -----------------------------------------

...等等 100 多个任务。 为其分配任务的资源也可以登录程序并仅查看他们的任务。例如,如果布兰登录:

 -----------------------------------------
|Priority| Task                 | Resource|
 -----------------------------------------
|    2   | Write a spec.        | Bran S. |
 -----------------------------------------
|    3   | Write some code      | Bran S. |
 -----------------------------------------

优先级列是我们的 sql-server 数据库中的一列。 有没有办法使用 SQL 重新调整优先级(通过中间层 JAVA 代码,或通过 SQL View ),以便“Bran S.”认为他的优先级从 1 开始? 期望的最终产品:

 -----------------------------------------
|Priority| Task                 | Resource|
 -----------------------------------------
|    1   | Write a spec.        | Bran S. |
 -----------------------------------------
|    2   | Write some code      | Bran S. |
 -----------------------------------------

我宁愿不必使用 JQuery/DOM 操作,因为它看起来效率低下且困惑,而且有很多移动部件。任何建议将不胜感激!

最佳答案

在 SQL Server 中,Row_Number() 在这里可能很有用。

示例

 Select [Priority] = row_number() over (partition by [resouce] order by [Priority])
       ,[Task]
       ,[Resouce]
  From  YourTable

注意:如果您有竞争优先级,则可以将 row_number() 替换为 dense_rank()

要更新您的表格...

;with cte as (
 Select *
       ,[NewPriority] = row_number() over (partition by [resouce] order by [Priority])
  From  YourTable
)
Update cte set [Priority]=[NewPriority]

关于javascript - 如何将给定表的整数列显示为从 1 开始的自动递增系列给前端用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56978483/

相关文章:

javascript - 使用简单的 jQuery 脚本获取一个 div 高度并使另一个 div 具有相同大小的问题

javascript - 从 Angular Controller 有条件地加载 css

javascript - 从 dojo 组合框中删除选项

SQL Server 过程声明一个列表

sql-server - SSIS(需要 ASCII): "Code page is 1252 and is required to be 20127"

javascript - AngularJS:如何缓存从 $http 调用返回的 json 数据?

java - 如何检查空字符串

java - 当我尝试添加 mysql 连接器依赖项时出现错误

java - 使用 Selenium WebDriver 确认网页中显示文本

sql - 在 SQL Server 中选择一组日期