我在 sql 请求中看到了一个奇怪的行为。
我的表点日志:
# 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
但声明:
SELECT date FROM pointLog WHERE uid = 1 order by date desc
退货
2012-09-02 12:44:08
作为第一个结果。
所以我的问题是:为什么我没有2012-09-02
在包含计数的第一个语句中收到第一个结果?
非常感谢!
编辑 作为 anzahl 的计数仅用于验证此示例中的条目是否超过 0。我知道它应该在程序中进行测试。
但我的主要问题是,我无法解释,为什么当它按相同(日期)排序时我会得到 2 个不同的日期。所以唯一的区别是计数属性。但这通常不应该改变排序?
最终*解决方案
SELECT MAX(date) AS maxdate, COUNT(date) AS anzahl FROM pointLog WHERE uid = 1