| Начало » Использование СУБД » Microsoft SQL Server » Sql запрос (помогите пожалуйста с запросом) Переход к форуму:
	| 
		
			| Sql запрос [сообщение #4910] | Wed, 17 April 2024 10:09  |  
			| 
				
				
					|  keshahot Сообщений: 3
 Зарегистрирован: April 2024
 | Junior Member |  |  |  
	| Есть таблица LastSignalHistory SELECT [CustomerID]
 ,[MTUreceiver]
 ,[MTUsystem]
 ,[MTUaddress]
 ,[Arrival]
 ,[Reading]
 ,[PrevArrival]
 ,[PrevReading]
 ,[ts]
 ,[trueReading]
 ,[UtlFlg]
 В таблице есть информация за 7 лет. Информация за каждый день для каждого CustomerID .
 надо сделать выборку последней информации  за каждый год для каждого CustomerID.
 Заранее спасибо
 [Обновления: Wed, 17 April 2024 10:09] Известить модератора |  
	|  |  |  
	|  |  
	|  |  
	|  |  
	| 
		
			| Re: Sql запрос [сообщение #4914 является ответом на сообщение #4913] | Wed, 17 April 2024 12:08  |  
			| 
				
				
					|  keshahot Сообщений: 3
 Зарегистрирован: April 2024
 | Junior Member |  |  |  
	| Спасибо за ответ . Сделал такой скрипт . Работает 
 SELECT [Year], [CustomerID], [Arrival], [Reading]
 FROM (
 SELECT
 YEAR(Arrival) AS [Year],
 [CustomerID],
 MAX(Arrival) OVER (PARTITION BY YEAR(Arrival), [CustomerID]) AS [Arrival],
 MAX(Reading) OVER (PARTITION BY YEAR(Arrival), [CustomerID]) AS [Reading],
 ROW_NUMBER() OVER (PARTITION BY YEAR(Arrival), [CustomerID] ORDER BY Arrival DESC) AS RowNum
 FROM [MCM_Archive].[dbo].[LastSignalHistory]
 WHERE YEAR(Arrival) BETWEEN 2012 AND 2020
 ) AS Subquery
 WHERE RowNum = 1
 ORDER BY [CustomerID], [Year];
 
 |  
	|  |  | 
 
 
 Текущее время: Fri Oct 31 22:33:22 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00731 секунд |