SELECT tblIssue.SYMB, tblIssue.[PRCE], tblIssue.[Shareholder]
FROM tblIssue
我正在尝试提取每个符号最大股东数量的符号和价格。例如,我只有 1 行 ASN,价格为 60.62 美元。
SYMB Price Shareholder ASN $0.00 0 ASN $0.00 51 ASN $25.18 0 ASN $25.26 0 ASN $36.00 0 ASN $60.62 231 ASNL $0.00 101 ASR $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;
这是我处理此类问题的一个技巧:当没有其他行 i2
具有相同的 [ 时,显示与
和更大的i1
对应的行SYMB][股东]
。 IE。如果不存在具有更大 [Shareholder]
的行,则 i1
必须具有最大值。
当 [SYMB]
的每个不同值的最高 [Shareholder]
值存在平局时,此查询会返回多行,但对于大多数情况也是如此其他人在此线程上给出的其他答案。要解决此问题,您必须使用表的唯一列向联接添加另一个条件。
关于sql - 按最大分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/526143/