en-USsv-SE
You are here:   Forum
HomeHomeSQLug.SESQLug.SETävlingarTävlingarSQLug.se challenge 2010SQLug.se challenge 2010
Previous
 
Next
New Post
10/26/2010 1:52 PM
 
Nej, tävlingen slutar 30:e november.
 
New Post
10/26/2010 2:02 PM
 
Så är det ju!

Finns det någon som har en fungerade lösning överhuvudtaget, förutom mig?
 
New Post
10/27/2010 1:29 AM
 
Är det ok att resultaten varierar några tiondelar upp och ner eller måste det vara exakt? Det känns som att det beror på flyttalsproblem...
 
New Post
10/27/2010 6:34 AM
 
Hej,

Jag rekommenderar att du postar lösningen på vårt forum så får du våra testresultat.

Flyttalsproblem bortser vi ifrån.

MVH
Johan
 
New Post
10/27/2010 3:50 PM
 
Hej!

Jag har en lösning som får lite decimalfel och tyvärr så åker jag på semester om någon dag och hinner därför inte fixa mer med lösningen. Så jag tänkte att jag skickar in den ändå så kan jag läsa sen vad jag gjorde/tänkte fel. Hoppas det är ok.

SELECT

VehicleName

,CAST(SUM(ConsumptionPerMin*Duration)AS FLOAT)/CAST(SUM(Duration)AS FLOAT) AS Top20PctAveragePerMinute

FROM(

SELECT

VehicleName

,Duration

,ConsumptionPerMin

FROM(

SELECT

VehicleName

,Duration

,ConsumptionPerMin

,ROW_NUMBER() over (Partition BY VehicleName

order by ConsumptionPerMin DESC) as Rank

,COUNT(*) over (Partition BY VehicleName) as TotalRank

FROM(

SELECT

A.[VehicleName]

,CAST(DATEDIFF(ms,A.[StartTime],B.[StartTime])AS FLOAT) AS Duration

,CAST((B.[MeterValue]-A.[MeterValue])/(CAST(DATEDIFF(ms,A.[StartTime],B.[StartTime])AS FLOAT)/1000/60)AS FLOAT) AS ConsumptionPerMin

FROM(

SELECT

[VehicleName]

,[StartTime]

,[MeterValue]

,ROW_NUMBER() OVER(PARTITION BY [VehicleName] ORDER BY [StartTime]ASC) AS 'RowNumber'

FROM [Min].[dbo].[MeterReadings]

) A

INNER JOIN (

SELECT

[VehicleName]

,[StartTime]

,[MeterValue]

,ROW_NUMBER() OVER(PARTITION BY [VehicleName] ORDER BY [StartTime] ASC) -1 AS 'RowNumber'

FROM [Min].[dbo].[MeterReadings]

) B ON A.[VehicleName] = B.[VehicleName] AND A.[RowNumber] = B.[RowNumber]

)RES

)RES

WHERE RANK <= (TotalRank*.2)

)RES

GROUP BY VehicleName

ORDER BY 1

Mvh
Panos

 
Previous
 
Next
HomeHomeSQLug.SESQLug.SETävlingarTävlingarSQLug.se challenge 2010SQLug.se challenge 2010


Annons