2011-03-15 34 views
2

我有一个简单的MySQL SELECT语句:MySQL的SELECT COUNT(*)语句不包括minimium值

SELECT COUNT(*) AS COUNT FROM MY_TABLE WHERE TIME_STAMP > ? 

但我并不想算第一/最早的行如果说最早的行TIME_STAMP大于我的WHERE门槛。例如:

SELECT COUNT(*) AS COUNT FROM MY_TABLE WHERE TIME_STAMP > ? AND TIME_STAMP > $earliest 

显然,我可以通过附加的事先查询得到最早的TIME_STAMP。但是如果我能在一个人身上做到这一切,我就会在游荡。我试过这个,但抛出“无效使用组功能”错误:

SELECT COUNT(*) AS COUNT FROM MY_TABLE WHERE TIME_STAMP > ? AND TIME_STAMP > MIN(TIME_STAMP) 

有什么建议吗?谢谢

+0

你能否用一个例子说明一下? – Mat 2011-03-15 13:05:24

回答

2

如果您从嵌套选择中获得MIN值,那么您的最后一个查询将会起作用。组功能需要上下文,你想要什么最低限度?

SELECT COUNT(*) AS COUNT FROM MY_TABLE WHERE TIME_STAMP > ? AND TIME_STAMP > (SELECT MIN(TIME_STAMP) FROM MY_TABLE) 
+0

当然哦,是的。谢谢 :) – 2011-03-15 13:12:13