以下代码不能正常工作。SQL(php)需要提取最好记录
SELECT Species, FishName, Rank, Angler, lb, oz, dr, Drams, Peg, DateCaught
FROM
(SELECT Species, FishName, Rank, Angler, lb, oz, dr, Drams, Peg, DateCaught
FROM ConqPB
ORDER BY FishName, Drams DESC) a
WHERE Species = 'Common Bream'
GROUP BY FishName
ORDER BY Species ASC, Rank ASC, Drams ASC
它是鳊的物种名单,并会显示每个鱼类名称和深陷其中的垂钓者顶部权重的记录列表。
但是由于一些未知的原因 - 我没有编辑它,它已经停止工作,现在只返回一个最好的钓鱼者,而不是最好的钓鱼者。
内部声明已经测试正常,并返回一个鱼名称列表并按desc顺序排列重量(drams)。当显示这个时,每个鱼名的最高记录是最高的捕获重量。外面的声明现在失败了。
这里的任何帮助将非常感激。我也想知道为什么它停止工作。
一个例子:
Species FishName Drams Angler
Common Bream Henry 300 Peter Beard
Common Bream Henry 400 Harry Web
Common Bream Henry 0 Carl Pilk
Common Bream Darcy 0 Peter Beard
Common Bream Darcy 760 Harry Web
Common Bream Darcy 900 Carl Pilk
其结果将是
鳊记录
Fishname Drams Angler
Henry 400 Harry Web
Darcy 900 Carl Pilk
你可以设置一个[SQL小提琴](http://sqlfiddle.com)?至于为什么它停止工作,我们不能告诉你。如果它的工作原理是昨天而不是今天,我会查看原始数据以确保它没有被消除或以某种方式改变。 – 2014-10-02 13:05:33
子查询有什么意义?你为什么不直接查询'ConqPB'? – wavemode 2014-10-02 13:08:02
数据没有问题。在内部声明中,它按照它应该组织它,但外部声明失败。 – 2014-10-02 13:09:24