我怎么知道某个时期的所有值是否都超过 10?

How do I know if all values for a certain period are over 10?

这是 mysql 中的示例 table。

----------------------
idx |company|data|date
0    |A     | 12 |2000-01-21
1    |A     | 11 |2000-01-22
2    |A     | 15 |2000-01-23
3    |A     | 15 |2000-01-24
4    |A     | 13 |2000-01-25
5    |B     | 13 |2000-01-21
6    |B     |  9 |2000-01-22
7    |B     | 11 |2000-01-23
8    |B     | 13 |2000-01-24
9    |C     | 13 |2000-01-22
10   |C     | 13 |2000-01-23
11   |C     | 13 |2000-01-24
12   |C     | 13 |2000-01-25
13   |C     | 13 |2000-01-26
----------------------
上面的

table,在这种情况下, A和C公司在期间的值都超过了10(数据列)。 但是B公司不是因为idx 6.

我想知道A、C公司是否符合条件。但是乙不是。 我如何使用 mysql 或 mariadb 知道某个时期的所有值是否都超过 10?

您可以使用 group byhaving。只看最小值:

select company, min(data)
from t
group by company
having min(data) >= 10;

忽略未指定的 'certain period',这是一个想法...

SELECT DISTINCT x.company 
           FROM my_table x 
           LEFT 
           JOIN my_table y 
             ON y.company = x.company 
            AND y.data < 11 
          WHERE y.idx IS NULL;