如何 select 来自计数 table 的特定行 SQL

How to select a specific row from count table in SQL

是否可以 select 组计数中的特定行?

这是我的sql声明:

SELECT
    COUNT(*)
FROM
    khashrm a
INNER JOIN price_name b WHERE
    (a.type3 = b.name)
GROUP BY
    a.type3
ORDER BY
    `COUNT(*)`
DESC
    

结果将是:

+---------+
| COUNT() |
+---------+
| 1       |
+---------+
| 5       |
+---------+
| 10      |
+---------+

我只想select那一行10,顺便说一下,这一行是可变的,它不是固定值。

如果您想要计数为 10 的行,请使用 having:

SELECT COUNT(*)
FROM khashrm a
INNER JOIN price_name b ON a.type3 = b.name
GROUP BY a.type3
HAVING COUNT(*) = 10
ORDER BY COUNT(*) DESC

如果您想要结果集中的第三行,则为 limitoffset:

SELECT COUNT(*)
FROM khashrm a
INNER JOIN price_name b ON a.type3 = b.name
GROUP BY a.type3
ORDER BY COUNT(*) DESC
LIMIT 1 OFFSET 2

备注:

  • 使用标准联接;连接条件转到 on 子句而不是 where 子句

  • 连接条件两边不需要括号