mysql - 有一个 mysql 查询,我希望能够从第二个表运行 order by

标签 mysql sql-order-by

SELECT * 
FROM app_detailsvvv as dtable 
WHERE primaryGenreName='".$ov['title']."'
  AND composed='1' AND 
  (SELECT COUNT(*) as c 
   FROM new_apps 
   WHERE trackId=dtable.trackId AND top>0) > 0 
ORDER BY top ASC

我在这里想要做的是ORDER BY表new_apps的顶部而不是app_detailsvvv,因为它甚至没有顶部字段,该怎么做?

最佳答案

为此使用INNER JOIN。这将是您的查询:

SELECT dtable.* FROM app_detailsvvv as dtable 
INNER JOIN new_apps ON new_apps.trackId=dtable.trackId
WHERE primaryGenreName='".$ov['title']."'
    AND composed='1' AND
    (SELECT COUNT(*) as c
    FROM new_apps
    WHERE trackId=dtable.trackId AND top>0) > 0
ORDER BY new_apps.top ASC

关于mysql - 有一个 mysql 查询,我希望能够从第二个表运行 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568679/

相关文章:

java - 处理从 Java 到 PHP 再到 MySQL 的字符编码

MYSQL 从每个类别中选择一个随机记录

C# 列表排序问题

mysql - 从 FROM 子查询中的另一个表计数

MYSQL 按大小写和名称排序

mysql - 在mysql中自定义排序依据 "%%"

mysql - 使用多行作为一个订单

php - 删除一行数据库 PHP SQL

php - 使用 php 将 mysql 表列表从 mysql 导出到 csv 文件

mysql - SQL Fiddle - 无法添加外键约束