mysql - SQL JOIN COUNT 然后在 where 子句中使用该计数值

标签 mysql sql count

我正在尝试选择用户评分 (user.rating) 是否大于 6 或用户是否有超过 100 笔交易(交易表计数)。基本上计算用户在何处进行了多少笔交易(交易计数 >= 100 或用户评分 >= 6)。

SELECT *
FROM   `user`
JOIN   (SELECT COUNT(*) 
        FROM   transaction 
        WHERE  transaction.user_id=user.id 
        AND type='L' 
        AND status='S') AS tcount 
WHERE  (user.rating >= '6' OR tcount >= '100')

最佳答案

只是另一个可能的答案。我已经创建了简化的模式来测试它,请尝试并告诉我结果。

SELECT * 
FROM user
WHERE user.rating >= 6 OR (SELECT COUNT(*) FROM transaction WHERE user_id = user.id and type = 'L' and status = 'S') >= 100;

关于mysql - SQL JOIN COUNT 然后在 where 子句中使用该计数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43150895/

相关文章:

sql - SQL SERVER 2005 中 DATETIME 的 DATE(不使用 VARCHAR)

python - 计算可迭代对象中元素的数量

php - 返回并比较最高计数 php mysql 的值

mysql - 在一个查询中更新多个 MySQL 表时,是否始终保证分配顺序?

java - 即使我们在hibernate中设置了自动增量,mysql中的表是否也必须具有自动增量属性

php - Arduino UNO、C3300 + PHP 网络服务挑战

php - 从 2 个字段计数

PHP 和 SQL WHERE(更改变量)

sql - 查询成本 vs. 执行速度 + 并行度

sql - 标记不连续的日期范围