假设我有以下值的表
A B C
------------------------
5 ABC $20
3 BCD $40
5 BCD $40
2 ABC $20
5 ABC $30
如何编写将返回最大值计数的查询,假设对于列 A,它应该返回值 3,即最大值的计数为 5。
假设我有以下值的表
A B C
------------------------
5 ABC $20
3 BCD $40
5 BCD $40
2 ABC $20
5 ABC $30
如何编写将返回最大值计数的查询,假设对于列 A,它应该返回值 3,即最大值的计数为 5。
您可以使用这样的子查询:
SELECT COUNT(*) AS COUNTS FROM Table1
WHERE A = (SELECT MAX(A) AS AD FROM Table1)
虽然不那么典型,但这也适用
(不等式的自反连接)
SELECT
COUNT(t1.a) AS COUNTS
FROM Table1 t1
LEFT JOIN Table1 t2
ON t1.A < t2.A
WHERE
t2.a is null
一种方法(不确定它是最快的):
SELECT A, count(*) FROM my_table GROUP BY 1 ORDER BY 2 LIMIT 1;