gpt4 book ai didi

mysql - SQL比较一张表中2条记录的值

转载 作者:行者123 更新时间:2023-11-29 11:12:34 26 4
gpt4 key购买 nike

我试图查看用户最近一个月(2016-08-01)参加的当前运动,并计算上个月参加新运动的人数。

MONTH       |  ID   |  SPORT
_________________________________________
2016-07-01 | 12 | Football
2016-08-01 | 12 | Tennis

2016-07-01 | 28 | Rugby
2016-08-01 | 28 | Tennis

2016-07-01 | 31 | Football
2016-08-01 | 31 | Football

因此上面的示例将返回计数 2。

下面的代码是错误的,但我不知道如何解决这个问题

SELECT * FROM SPORTS WHERE currentmonth='2016-08-01' AND ID, SPORT NOT IN
(SELECT * FROM SPORTS WHERE currentmonth='2016-07-01')

最佳答案

如果每个用户每月只参加一项运动,您可以使用此方法:

SELECT count(*) FROM(
SELECT DISTINCT id, count(id) idno
FROM `mytbl`
WHERE `month` BETWEEN '2016-07-01' AND '2016-08-01'
GROUP BY id, sport) as subq
WHERE subq.idno=1

Here is a fiddle .

我已经对月份进行了硬编码,但您应该用变量替换它们。

关于mysql - SQL比较一张表中2条记录的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40286798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com