gpt4 book ai didi

mysql - 受MySQL语句中不同于顺序的不同字段的限制?

转载 作者:行者123 更新时间:2023-11-29 00:24:22 24 4
gpt4 key购买 nike

好吧,假设我有以下 MySQL 查询:

SELECT table1.*, COUNT(table2.link_id) AS count
FROM table1
LEFT JOIN table2 on (table1.key = table2.link_id)
GROUP BY table1.key
ORDER BY table1.name ASC
LIMIT 20

简单吧?它返回 table1 信息,以及每行在 table2 中链接的次数。

但是,您会注意到它将结果行限制为 20... 并按 table1.name 对结果行进行排序。它的作用是按字母顺序返回前 20 个结果。

我想知道是否有一种方法可以根据 count 降序限制前 20 个结果;同时还按字母顺序获得剩余的 20 个结果。我知道我可以简单地在后续代码中对返回的数组进行排序,但我想知道是否有一种方法可以在单个查询中执行此操作。

最佳答案

使用subselect做limit,在外层select排序

SELECT * FROM (SELECT table1.*, COUNT(table2.link_id) AS count
FROM table1
LEFT JOIN table2 on (table1.key = table2.link_id)
GROUP BY table1.key
ORDER BY count DESC
LIMIT 20 ) t
ORDER BY name ASC

关于mysql - 受MySQL语句中不同于顺序的不同字段的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com