我正在使用MS SQL Server 2008,并且我想这样做:
+------+--------+--------+------------+
| id | Name | Event | Timestamp |
+------+--------+--------+------------+
| 0 | bob | note | 14:20 |
| 1 | bob | time | 14:22 |
| 2 | bob | time | 14:40 |
| 3 | bob | time | 14:45 |
| 4 | bob | send | 14:48 |
| 5 | bob | time | 15:30 |
| 6 | bob | note | 15:35 |
| 7 | bob | note | 18:00 |
+------+--------+--------+------------+
要成为这个:
+------+--------+--------+------------+
| id | Name | Event | Timestamp |
+------+--------+--------+------------+
| 0 | bob | note | 14:20 |
| 1 | bob | time | 14:22 |
| 4 | bob | send | 14:48 |
| 5 | bob | time | 15:30 |
| 6 | bob | note | 15:35 |
+------+--------+--------+------------+
即,行由“事件”列“分组”。每个 分组的 相同“事件”中仅显示一个。
这两个是唯一的规则。
如果id
s是一个接一个的尝试,请按照以下方式进行操作:
select * into #tab from(
select 0 as id, 'bob' as name, 'note' as event, '14:20' as time union
select 1, 'bob', 'time', '14:22' union
select 2, 'bob', 'time', '14:40' union
select 3, 'bob', 'time', '14:45' union
select 4, 'bob', 'send', '14:48' union
select 5, 'bob', 'time', '15:30' union
select 6, 'bob', 'note', '15:35' union
select 7, 'bob', 'note', '18:00'
) t
select t.*
from #tab t
left join #tab t1 on t.id = t1.id + 1 and t1.event = t.event
-- and t1.name = t.name -- if there are more names you are going to need this one as well
where t1.id is null
结果:
id name event time
0 bob note 14:20
1 bob time 14:22
4 bob send 14:48
5 bob time 15:30
6 bob note 15:35
添加:
如果id
s不是一个接一个的,则可以使它们成为:
select identity(int, 1, 1) as id, name, event, time
into #tab_ordered_ids
from #tab order by name, id, time
如何根据列中的数字是否在定义的范围内,将行筛选到特定的csv文件中? 我试图让和之间的任何东西输出到,但是当我运行它时什么都不会发生:
所以我的数据集有一些信息,按业务n日期如下: 我需要以下格式的数据:我如何转换它。我不想在我的输出数据集中使用多级 我尝试了以下语法: 我得到的结果如下: 当我打印列时,它不会将LOB显示为列。我的最终数据帧还应该包括业务,日期字段作为列,以便我可以加入这个数据帧与另一个业务数据帧
我有例如[100,30]数据帧,我想找到哪些行有超过20列的值?所有行都有30列,但其中一些有NaN值,因此我设置了20列的限制,我想在col.iloc=20之后找到哪些行有列的值 例如,即使在行号05我们有更多的楠值,由于分布,我想找到哪些行有超过3列的X值或楠值(在下表中,我想找到行号1、3、4和7的索引。 我的预期结果: 我发现行的 ID:1,3,4,7 是行在列中有值 但在大型数据帧中 这
假设我有下面的。我想组合价格列和值列,以便所有价格都在一列中,所有卷都在另一列中。我还想要标识价格级别的第三列。例如,、和。 这就是最终的df应该是什么样子: 我尝试使用,我认为几乎有正确的答案。 这就是熔融时部分df的样子: 上面的问题是,数量和价格在同一列中,但我希望它们在两个单独的列中。 我使用了正确的函数吗?
我想创建一个名为Playercategory的新专栏, 如果玩家的国籍为“美国”或除欧洲国家外的任何其他国家的美国,则Playercategory==“美国” 如果玩家的国籍是欧洲国家或与任何其他国家的欧洲国家,则Playerclass=="欧洲"(例如:"意大利"、"意大利/美国"、"德国/美国"、"立陶宛/澳大利亚"、"比利时") 对于所有其他玩家,则Playercategory==“非” 预
问题内容: 我有一个脚本,它使用DROP TABLE IF EXISTS删除表的负载,这可以工作。 此脚本中还有一个删除操作,用于从我不管理的另一个表中删除一行。该表可能存在或不存在。是否有任何在尝试删除行之前检查该表是否存在? 这需要适用于MYSQL和SQLServer 谢谢亚历克斯 问题答案: 要签入SQL SERVER, 要检查mysql: 您只需数: