【问题标题】:MySQL select count(*) statement excluding minimium valueMySQL select count(*) 语句不包括最小值
【发布时间】:2011-03-15 13:00:28
【问题描述】:

我有一个简单的 MySQL 选择语句:

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)

有什么建议吗?谢谢

【问题讨论】:

  • 你能举例说明一下吗?

标签: mysql sql aggregate-functions mysql-error-1111


【解决方案1】:

如果您从嵌套选择中获得 MIN 值,则您的最后一个查询将起作用。组函数需要上下文,你最想要什么?

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

【讨论】:

    猜你喜欢
    • 2010-12-02
    • 2016-05-21
    • 1970-01-01
    • 2019-08-24
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    相关资源
    最近更新 更多