我有一张个人最好的桌子,可以为每条命名鱼提供钓鱼重量个人最佳记录。这些属于特定物种。
到目前为止,我已经设法为每条命名的鱼提取所有时间记录,按物种分组。
我现在要做的是设置一个显示各种信息的统计页面,一个是所选渔夫持有的所有时间记录的数量(计数)。
我有一个选择器,因此您可以选择显示统计信息的名称,这样可以正常工作。
我似乎无法统计选定的渔夫所选择的所有时间记录。
我尝试过嵌套Select语句但没有结论。我对这些东西也很陌生。
这是我的初学者代码,其中包含相关的字段名称。
SELECT Specie, NameFish, Contender, MAX(Drams) FROM PB_Scores GROUP BY NameFish
然后说表是......
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
选择Mitchell的结果应该是: -
2(因为Mitchell让Barry和Blake的重量更大,因此计数为2)。
感谢任何帮助。
答案 0 :(得分: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人同时捕获了同一物种,名称和体重的鱼,这可能会产生奇怪的结果。