【问题标题】:Insert COUNT into a Query将 COUNT 插入查询
【发布时间】:2018-04-11 16:36:21
【问题描述】:

我已经问过并得到了这个查询:

SELECT (@rn := @rn + 1) as ranking, p.* FROM (SELECT player, COUNT(*) as cnt
  FROM test
  WHERE statistic=0 AND time > DATE_SUB(now(), INTERVAL 1 MONTH)
  GROUP BY player
  ORDER BY COUNT(*) desc
 ) p CROSS JOIN
 (SELECT @rn := 0) params LIMIT 10;

但现在我想获得另一个值:

COUNT(*) as cnt2 FROM test WHERE statistic=1 AND time > DATE_SUB(now(), INTERVAL 1 MONTH)

如何在上面的其他查询中插入查询,以获得“cnt2”? 谢谢

【问题讨论】:

    标签: mysql sql count


    【解决方案1】:

    已编辑:,而不是 AND 子句

    SELECT (@rn := @rn + 1) as ranking, p.* FROM (SELECT player, COUNT(*) as cnt, COUNT(*) as cnt2 FROM test WHERE statistic=0 AND time > DATE_SUB(now(), INTERVAL 1 MONTH) GROUP BY player ORDER BY COUNT(*) desc ) p CROSS JOIN (SELECT @rn := 0) params LIMIT 10;

    【讨论】:

    • 这个查询不起作用 :( 我想在“cnt2”中只有 statistic=1 而不是 0 的数量
    • 已编辑。尝试使用 , 而不是 AND 子句。
    • 是的,这行得通。但我想要不同的价值观。当统计量为 1 而不是 0 时计数“cnt2”
    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2015-08-10
    • 2014-11-08
    • 2020-06-21
    • 2016-06-23
    相关资源
    最近更新 更多