我有一个看起来像这样的查询:
SELECT article FROM table1 ORDER BY publish_date LIMIT 20
ORDER BY如何工作?它会订购所有记录,然后获得前20个记录,还是会得到20个记录并按publish_date现场订购?
如果它是最后一个,你不能保证真正得到最近的20篇文章.
我有一个简单的问题:
我有一个postgresql数据库:Scores(score integer).
我怎样才能获得最快10分?
更新:
我将多次执行此查询,并且我的目标是获得最快的解决方案.
有没有办法用Laravel的ELOQUENT ORM"限制"结果?
SELECT * FROM `games` LIMIT 30 , 30
Run Code Online (Sandbox Code Playgroud)
和Eloquent?
我想构建一个查询,在表中显示所有结果,但从表的开头偏移5.据我所知,MySQL LIMIT需要一个限制和一个偏移量.有没有办法做到这一点?
分页来自数据库的数据时,您需要知道将有多少页面呈现页面跳转控件.
目前我通过运行查询两次,一次包装count()以确定总结果,第二次应用限制以获取当前页面所需的结果.
这似乎效率低下.有没有更好的方法来确定在LIMIT应用之前会返回多少结果?
我正在使用PHP和Postgres.
我想要做的是SUM一列,但也要COUNT它总和的行数,限制不超过5行.所以我的查询是:
SELECT COUNT(*), SUM(score) FROM answers WHERE user=1 LIMIT 5
Run Code Online (Sandbox Code Playgroud)
我所期待的是COUNT(*)高达5(我不能假设它在我的代码逻辑中总是5,因为它可能少于5个答案),最多 5行的得分总和.
相反,我似乎得到的是匹配行的总数(用户为1)作为计数,以及这些行的得分总和.这些数字不会改变我是否把LIMIT 1或者LIMIT 5甚至是LIMIT 50.
相信在这种情况下我认为会起作用
SELECT COUNT(*), SUM(score) FROM (SELECT * FROM answers WHERE user=1 LIMIT 5) AS a
Run Code Online (Sandbox Code Playgroud)
但对于这样一个简单的查询来说,这似乎有点令人费解,而且在高流量脚本中,我希望它尽可能高效.
我错过了什么吗?几年前我确实发现了这个错误报告似乎与这个"问题"有关,但我认为它实际上并不是一个错误?
什么相当于PostgreSQL中的SQL Server TOP或DB2 FETCH FIRST或mySQL LIMIT?
我试图限制以下SQL语句.
SELECT expense.*, transaction.* FROM expense
INNER JOIN transaction ON expense_id = transaction_expense_id
Run Code Online (Sandbox Code Playgroud)
我想做的是限制'父'行的数量.IE浏览器.如果我做LIMIT 1,我只会收到一个费用项目,但仍会获得与之相关的所有交易.
这将如何实现?
在这个阶段,如果我做LIMIT 1,我得到一笔费用,只有一笔交易.
SELECT name FROM mydb ORDER BY score DESC LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
上面的查询将返回前10个排名.
如何修改LIMIT,或者是否有另一种语法来查询排名第20的排名?
我在负载下测试我的数据库设计,我只需要检索固定数量的行(5000)
我可以指定LIMIT来实现这一点,但是看起来查询会构建匹配的所有行的结果集,然后只返回限制中指定的行数.它是如何实现的?
是否有一个MySQL读取一行,读取另一行,并在检索第5000个匹配行时基本停止?