这背后的逻辑是如果Ser_request数字对于同一位置是相同的,那么请考虑具有最大“停机前功率”的行。需要被更新的行是列名ID与最小值如何更新其他列中相同的值?
我需要创建三个新列调开始日期,调结束日期,可调节直流电源,并从repective列插入数据
downtime_start =调开始时间
-downtime_end =调结束日期
-power_before_downtime =调DC电源
我试过这样做,但通过分组的值是相同的,我无法找到第一行。
我使用的SQL Server 2012
这是我到目前为止已经试过:
select location,downtime_start , count(*)
from dbo.TB1
group by location,downtime_start , count(*)
having count(*)>1
此查询后,我得到TB1的结果,我不知道如何将它们分组,并插入值分配给各个列。
任何帮助表示赞赏
谢谢
ID | location | downtime_start | downtime_end | power_before_downtime | power_after_downtime | creation_time | end_time | ser_request
1 | xyz.a | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16 | 13.67 | 3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM | 0003
2 | xyz.a | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16 | 13.67 | 3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM | 0003
3 | xyz.a | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16 | 13.67 | 3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM | 0003
输出表应该是这样的:
ID | location | downtime_start | downtime_end | power_before_downtime| power_after_downtime| creation_time | end_time
|ser_request | Adj Start date | Adj end date | Adj DC power
1 | xyz.a | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16 | 13.67 |3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM| 0003 | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16
2 | xyz.a | 3/8/2017 2:00:00 PM | 3/10/2017 8:00:00 AM | 14.16
| 13.67 | 3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM | 0003
| 0 | 0 | 0
3 | xyz.a | 3/8/2017 2:00:00 PM| 3/10/2017 8:00:00 AM | 14.16
| 13.67 3/8/2017 3:25:37 PM | 3/8/2017 6:41:59 PM | 0003 | 0 | 0 | 0
你使用MySQL或MS SQL Server? (不要标记不涉及的产品。) – jarlh
我无法阅读那些图片的小文本。 (这里的大多数人想格式化文本,而不是图像...) – jarlh
我正在使用MS SQL 2010 –