0

我有一个个人最佳表,其中保存了每条命名鱼的钓鱼重量个人最佳记录。这些属于特定物种。

到目前为止,我已经设法提取了按物种分组的每条命名鱼的所有时间记录。

我现在要做的是设置一个显示各种信息的统计页面,其中一个是所选渔夫持有多少(计数)所有时间记录。

我有一个选择器,因此您可以选择名称来显示统计信息,这很好用。

我似乎无法计算选定的渔夫选定的历史记录。

我试过嵌套 Select 语句,但没有结论。我对这些东西也很陌生。

这是我的入门代码,其中包含有问题的字段名称。

SELECT Specie, NameFish, Contender, MAX(Drams) FROM PB_Scores GROUP BY NameFish

假设这张桌子是……</p>

SPECIE - NAMEFISH - CONTENDER - DRAMS

Tench  | Barry    | Jonhson   | 234
Pike   | Glub     | Johnson   | 3456
Pike   | Blake    | Johnson   | 4567
Pike   | Blake    | Mitchell  | 4890
Pike   | Glub     | Mitchell  | 0 
Tench  | Barry    | Mitchell  | 2420

选择米切尔的结果应该是:-

2(因为米切尔让巴里和布莱克的重量更大,所以计数是 2)。

任何帮助将不胜感激。

4

1 回答 1

0

进行子查询以获取每个鱼种/名称的最大重量,然后将其加入表中以获取拥有该鱼种/名称和重量的鱼的竞争者:-

SELECT a.Contender, COUNT(*)
FROM PB_Scores a
INNER JOIN
(
    SELECT Specie, NameFish, MAX(Drams) AS MaxSpeciesWeight
    FROM PB_Scores
    GROUP BY Specie, NameFish
) b
ON a.Specie = b.Specie
AND a.NameFish = b.NameFish
AND a.Drams = b.MaxSpeciesWeight
GROUP BY a.Contender

SQL小提琴:-

http://www.sqlfiddle.com/#!2/966bf/1

请注意,如果 2 个人都捕获了相同种类、名称和重量的鱼,这可能会产生奇怪的结果。

于 2013-11-01T12:36:35.530 回答