SQL 요청에서 이상한 동작이 발생합니다.날짜, 카운트 (날짜)에 따른 이상한 SQL 결과 순서
내 테이블 pointLog :
# Column Type
1 date timestamp 2 uid varchar(30)
3 ssid varchar(40)
4 reason varchar(50)
5 points int(5) No None
문 :
SELECT date, count(date) as anzahl FROM pointLog WHERE uid = 1 order by date desc
반환 다음과 같은 결과
date anzahl
2012-09-01 12:21:16 14
그러나 문 :
,반환 첫 번째 결과로
2012-09-02 12:44:08
.
그래서 내 질문 : 왜 2012-09-02
이 첫 번째 결과에 카운트를 포함하는 첫 번째 결과가 표시되지 않습니까 ??
고마워요!
편집 anzahl로서 카운트 ATM 만이 예에서 0보다 항목이 있는지를 확인하기 위해 사용된다. 나는 그것이 그 프로그램에서 시험되어야한다는 것을 안다.
하지만 내 주요 문제는 설명 할 수 없다는 것입니다. 이유는 동일한 날짜로 정렬 할 때 2 개의 다른 날짜가 표시되는 이유입니다. 따라서 유일한 차이점은 count 속성입니다. 그러나 그것은 일반적으로 정렬을 변경해서는 안됩니다?
FINAL * 솔루션
SELECT MAX(date) AS maxdate, COUNT(date) AS anzahl FROM pointLog WHERE uid = 1
당신은 당신이 그것에 의해 그룹화되지 않기 때문에 당신이 날짜 열을 선택할 수 없습니다 오류 메시지가 표시됩니다. 당신이하고있는 정확한 것을 게시하고 있습니까? – erikkallen
예 문을 정확히 사용하고 있습니다. – TheBassMan
완료! 그 솔루션은 서브 쿼리보다 훨씬 뛰어나 MAX 솔루션을 완전히 무시했습니다. – TheBassMan