【问题标题】:How to order by a count(*) field?如何按 count(*) 字段排序?
【发布时间】:2011-08-06 11:16:23
【问题描述】:

我有一个这样的 MySQL 查询:

SELECT xid, count(yid) AS tot
FROM x_y_map
WHERE z=11
GROUP BY xid
ORDER BY tot

该表只是 X 到 Y 的简单映射。如果没有ORDER BY,查询似乎可以工作并显示每个 X 具有的 Y 的数量 - 每个 X 一行。但是,添加排序后,我得到的只是:

xid     yid
0       36503

为什么会发生这种情况,如何获得有序列表?

【问题讨论】:

  • 没有where z = 11时有多少行?

标签: mysql count sql-order-by


【解决方案1】:

尝试按这样的顺序直接计数:

ORDER BY count(yid)

【讨论】:

  • 不行,还是不行。我又得到了那一排,这次是273 36503
【解决方案2】:

经过进一步研究,这似乎是 PHPMyAdmin 中的一个错误。通过 PHP 运行相同的查询会得到正确的结果。我认为 PMA 出于某种原因在这么多行上绊倒了。

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 2011-08-26
    • 2011-10-23
    • 2018-07-09
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2020-01-12
    • 2015-10-24
    相关资源
    最近更新 更多