Начало » Использование СУБД » 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]; 
		
		
		
 |  
	| 
		
	 | 
 
 
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 03:57:28 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01780 секунд 
 |