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/

10-12 07:19