SELECT tblIssue.SYMB, tblIssue.[PRCE], tblIssue.[Shareholder]
FROM tblIssue
我试图拉高象征和价格,以使每个象征的最大股东人数增加。例如,对于ASN,我只有1行,价格为60.62美元。
SYMB价格股东
港币$ 0.00 0
ASN $ 0.00 51
ASN $ 25.18 0
ASN 25.26美元0
ASN $ 36.00 0
ASN $ 60.62 231
$ 0.00 101美元
港币$ 0.00 4
ASR $ 0.00 24
ASR $ 37.17 13
最佳答案
SELECT i1.*
FROM tblIssue i1
LEFT OUTER JOIN tblIssue i2
ON (i1.[SYMB] = i2.[SYMB] AND i1.[Shareholder] < i2.[Shareholder])
WHERE i2.[SYMB] IS NULL;
这是解决这些问题的技巧:当没有其他
i1
和更大的i2
的行[SYMB]
出现时,向我显示与[Shareholder]
对应的行。即如果不存在带有更大[Shareholder]
的行,则i1
必须具有最大值。当每个
[Shareholder]
的不同值对应最高[SYMB]
值时,此查询返回多行,但该线程上其他人给出的大多数其他答案也是如此。为了解决这个问题,您必须使用表的唯一列将其他条件添加到联接中。关于sql - 按最高人数分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/526143/