MySql 使用内连接和子查询按最高值排序

标签 mysql

我有一个查询,其中有一个子查询,该子查询返回另一个表中的记录计数,但我在排序该计数器的最大数量时遇到了问题

SELECT respostas.id,
       respostas.cmm,
       respostas.topico,
       respostas.usuario,
       respostas.resposta,
       perfis.nome,
       perfis.sobrenome,
       respostas.datahora,
       (
           SELECT count(id) 
           FROM likes 
           WHERE respostas.id = resposta
       ) AS total
FROM respostas
INNER JOIN perfis ON respostas.usuario = perfis.id
INNER JOIN likes ON respostas.topico = likes.topico
WHERE respostas.cmm = 28
        AND respostas.topico = 38
ORDER BY respostas.id ASC, total ASC
                LIMIT 0,20`enter code here`

我想按总列排序,但不能。 按总数排序不起作用,只能按id排序

最佳答案

您可以选择按数字排序的列:

SELECT           
       (
           SELECT count(id) 
           FROM likes 
           WHERE respostas.id = resposta
       ) AS total,
       respostas.id,
       respostas.cmm,
       respostas.topico,
       respostas.usuario,
       respostas.resposta,
       perfis.nome,
       perfis.sobrenome,
       respostas.datahora
FROM respostas
INNER JOIN perfis ON respostas.usuario = perfis.id
INNER JOIN likes ON respostas.topico = likes.topico
WHERE respostas.cmm = 28
        AND respostas.topico = 38
ORDER BY 1, respostas.id
                LIMIT 0,20

What is the purpose of Order By 1 in SQL select statement?

关于MySql 使用内连接和子查询按最高值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873525/

相关文章:

php - 识别数据缓存在哪一层 - PHP/MySQL

php - 使用 jquery 和 php 检索 mysql 数据

php - 如何使用php从Mysql中提取Json数据

java - Wildfly 和自动重新连接到数据库

mysql - 我该如何解决这个mysql?用php还是mysql做?

php - 此 php 代码中是否存在任何漏洞/可能的优化以检测是否需要验证码?

php - 从文本文件或数据库中获取?

php - 必填字段缺少结果

php - 管理 Multi-Tenancy 数据库连接

c# - 通过服务器从 MySQL 数据库检索图像