1

我不完全确定如何简单地表达这个问题,所以我会接受建议来重命名我的问题。我提前为这个问题看起来多么愚蠢而道歉,但我正在经历一个让我无法理解它的大脑放屁时刻。我想到的表是由以下人员创建的:

CREATE TABLE STRUCTURES (X INT(4),Z INT(4),TYPE CHAR(1),SEED_ID BIGINT);

问题是,如何找到 TYPE='V' 和 SEED_ID 相同的最大条目数?我们称这个数字为 MAX_TYPE_V。

为了澄清,我正在使用查询:

SELECT SEED_ID 
FROM STRUCTURES 
WHERE TYPE='V' 
GROUP BY SEED_ID 
HAVING COUNT(SEED_ID)=MAX_TYPE_V;

但我不知道如何找到 MAX_TYPE_V 以插入上述查询,所以我的解决方法是尝试从 1 到 2^31-1 的 MAX_TYPE_V 查询,直到查询对于某个数字 i 失败,这意味着 i-1 是我的最大值,但坦率地说,这是非常耗时且非常愚蠢的。我正在使用 SQLite3,所以任何答案都应该可以解决 MySQL 语法。

4

1 回答 1

1
  SELECT SEED_ID,
         COUNT(*) AS cnt
    FROM STRUCTURES 
   WHERE TYPE='V' 
GROUP BY SEED_ID 
ORDER BY COUNT(*) DESC
   LIMIT 1
于 2012-09-10T22:51:24.303 回答