Sql server 获取没有分组依据的记录计数
假设我有一张这样的桌子Sql server 获取没有分组依据的记录计数,sql-server,tsql,Sql Server,Tsql,假设我有一张这样的桌子 Id TagNo F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 CoreNo 1 1000 A B C D E F R E W W D 1 2 1000 A B C D E F R E W W D 2 3 1000 A B C D E F R E W W D 3 4 1001 A B C D E F R E
Id TagNo F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 CoreNo
1 1000 A B C D E F R E W W D 1
2 1000 A B C D E F R E W W D 2
3 1000 A B C D E F R E W W D 3
4 1001 A B C D E F R E W W D 1
5 1001 A B C D E F R E W W D 2
我想要
TagNo F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 CoreNo TotalCores
1000 A B C D E F R E W W D 1 3
1000 A B C D E F R E W W D 2
1000 A B C D E F R E W W D 3
1001 A B C D E F R E W W D 1 2
1001 A B C D E F R E W W D 2
列F1的值。。。F11(实际上不止这些)并不重要
我知道Count()。但是如果我想使用Count()
,那么我必须按所有列进行分组,这是我不想要的
我希望我能说清楚
谢谢也许可以在子选择中使用group by进行子选择。如果它是一个大表,这不是一个好主意。可能在子选择中使用group by进行子选择。如果这是一张大桌子,这不是一个好主意。你可以用这个:
SELECT
TagNo, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, CoreNo,
TotalCores = COUNT(*) OVER(PARTITION BY TagNo)
FROM
dbo.YourTable
你可以用这个:
SELECT
TagNo, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, CoreNo,
TotalCores = COUNT(*) OVER(PARTITION BY TagNo)
FROM
dbo.YourTable
没有分组依据和计数:-)
没有分组依据和计数:-)
这就像想吃东西,但不想吃东西。你要吃什么?因为有count(),我必须按所有字段分组吗?不。你必须按要将计数除以的字段分组,例如corenoth,这就像想吃东西,但不想吃食物。你要吃什么?要有count(),我必须按所有字段分组吗?不。你必须按要将计数除以的字段分组,例如CoreNoHa-ha。聪明。愚蠢的问题,但聪明的解决方案。哈哈。聪明。愚蠢的问题,但聪明的解决方案。