문제

나는 간단한 쿼리라고 생각하는 것을 알아내는 데 문제가 있습니다. 모니터링 앱의 시간 날짜 스탬프가있는 로그 특정 메시지를 추측 할 수있는 두 개의 필드 (EntryDateTime, Message)가있는 테이블이 있습니다.

나는 하루에 유형의 모든 메시지를 얻고 싶지만 스탬프의 시간 부분 (다른 모든 것에 필요한 동안)이 여기에 문제를 제기합니다.

나는 같은 일을 찾고 있었고

SELECT COUNT(Message)
FROM DBName.dbo.TableName
WHERE Message = 'LoginFailed'
GROUP BY EntryDateTime

출력으로 내가 찾고있는 것은

2009-06-26, 142

2009-06-27, 259

2009-06-28, 57

물론 이것은 나에게 더 많은 메시지를 더 많이 제공합니다.

2009-06-26 00:01:01, 11

2009-06026 00:01:02, 12

이 쿼리에 대한 타임 스탬프를 타는 데 도움이되는 것은 매우 도움이됩니다. 이 쿼리가 수년 분량의 로깅을 검색 할 것이므로 날짜 범위를 수동으로 입력 할 필요가 없으며 BETWEEN 쿼리를 입력하십시오.

도움이 되었습니까?

해결책

다음과 같은 것을 사용하는 것은 어떻습니까 :

SELECT COUNT (Message), CONVERT(DATETIME, CONVERT(CHAR(10), EntryDateTime, 101))  
FROM DBName.dbo.TableName  
WHERE Message = 'LoginFailed'  
GROUP BY CONVERT(DATETIME, CONVERT(CHAR(10), EntryDateTime, 101))  

다른 팁

이 시도:

SELECT DATEADD(dd, DATEDIFF(d, 0, Getdate()), 0)

getDate ()를 열 이름으로 바꾸십시오.

당신은 또한이 이전을보고 싶을 것입니다 stackoverflow 질문 그리고 이것 이전 질문

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top