MYSQL 在两种不同条件下对行进行计数,如果计数相等则返回值作为输出

标签 mysql count equality

我有一张 table :

PRICE
ticker date      close
AAPL   3/20/2019 $100
AAPL   3/21/2019 $101.5
AAPL   3/22/2019 $106.5
GOOG   3/20/2019 $100
GOOG   3/21/2019 $130
GOOG   3/22/2019 $110
MSFT   3/20/2019 $184.5
MSFT   3/21/2019 $188.5
MSFT   3/22/2019 $210
IBM    3/20/2019 $72
IBM    3/21/2019 $70
IBM    3/22/2019 $10

我想知道在两种不同条件下比较行数的正确方法,并在计数相等时返回股票代码。 (最终只有当整个三月收盘价> 100 时才返回股票行情)。所以:

SELECT ticker, COUNT(*) FROM PRICE WHERE close>100 group by ticker;

返回:

| ticker | COUNT(*) |
+--------+----------+
| AAPL   |        2 |
| GOOG   |        2 |
| MSFT   |        3 |

还有

SELECT ticker, COUNT(*) FROM PRICE group by ticker;

返回:

| ticker | COUNT(*) |
+--------+----------+
| AAPL   |        3 |
| GOOG   |        3 |
| MSFT   |        3 |

因此 MSFT 应该是唯一返回输出的代码。

SQL 新手,如有任何建议,我们将不胜感激!

最佳答案

一种简单的方法按股票代码聚合并断言所有收盘价都大于 100:

SELECT ticker    -- maybe include COUNT(*), if you want to see the counts
FROM price
GROUP BY ticker
HAVING COUNT(CASE WHEN close <= 100 THEN 1 END) = 0;

关于MYSQL 在两种不同条件下对行进行计数,如果计数相等则返回值作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55555781/

相关文章:

MySQL+PHP+Flash+as3 如何在离线编程中将Flash AS3 2d RPG游戏中的数据保存到mySql中?

SQL - 在连接查询中只计算一个表条目

java - 如何在 Java 中比较字符串?

haskell - 为什么在代数数据类型中,如果我可以为两种类型定义一个特殊的 `from` 和 `to` 函数,这两种类型就可以认为是相等的?

MySQL 查询以下内容

MYSQL:操作数应包含 1 列

php - Yii exists 函数在模型中的用例是什么?

php - 如何计算PHP中两个日期之间的天数?

select - JPA - MAX of COUNT 或 SELECT FROM SELECT

flash - 有趣的 AS3 哈希情况。它真的像文档所说的那样使用严格的平等吗?