Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql sql order by和limit by另一个值_Mysql_Sql - Fatal编程技术网

Mysql sql order by和limit by另一个值

Mysql sql order by和limit by另一个值,mysql,sql,Mysql,Sql,所以,我有两个表,发布和发布您的最爱 发布结构: id date (timestamp) other data 1 1486901083 ... 2 1486909903 ... .... id releaseId userId 1 2 5 2 2 10 .... 发布收藏夹结构: id date (timestam

所以,我有两个表,发布和发布您的最爱

发布结构:

  id    date (timestamp)    other data
  1     1486901083          ...
  2     1486909903          ...
  ....
  id    releaseId    userId
  1     2            5
  2     2            10
  ....
发布收藏夹结构:

  id    date (timestamp)    other data
  1     1486901083          ...
  2     1486909903          ...
  ....
  id    releaseId    userId
  1     2            5
  2     2            10
  ....
我想按日期排序记录(这不是SQL中的问题),但我只想要10条最受欢迎的记录,这可能吗

(下面的SQL有效,但仅适用于按日期订购)


根据您的描述,您需要
分组依据
。您只显示一个表(尽管您的查询有两个表)。这是对你想要什么的(合理)猜测:

select rf.release_id
from release_favourites rf
group by rf.release_id
order by count(*) desc
fetch first 10 rows only;

您可以从另一个表中加入实际需要的任何字段(或使用
中的
存在的
)。并非所有数据库都支持ANSI标准
仅获取前10行
语法。但是它们都有某种方式将结果集限制为给定的行数。

(1)用您正在使用的数据库标记您的问题。(2) 切勿在
FROM
子句中使用逗号。始终使用正确、明确的
JOIN
语法。(3) 编辑您的问题并显示所需的结果。@GordonLinoff为什么不将
[table]用作
?这是可行的,但我不能在子查询中使用limit:
此版本的MariaDB还不支持“limit&in/ALL/ANY/SOME子查询”
@nacelnikpohodar。我无意冒犯杜杜,但是为什么你会接受一个答案,然后评论它不起作用呢?@GordonLinoff-没有,同样的想法。@GordonLinoff这是正确的,我只需要再补充一个subquery@nacelnikpohodar-嗨,你能分享一下你最后的语法吗?
select      *

from        release

where       id in
            (
                select      releaseid
                from        release_favourites
                group by    releaseid
                order by    count(*) desc
                limit       10
            )

order by    date