下面是从一个大型mysql表中获得结果的情况(使用PHP/ mysql ),假设mysql查询返回10,000个匹配结果,并且您有一个分页脚本来显示每页20个结果,您的查询可能如下所示
所以第1页查询
SELECT column
FROM table_name
WHERE userId=1
AND somethingelse=something else
LIMIT 0,20
所以第2页查询
SELECT column
FROM table_name
WHERE userId=1
AND somethingelse=something else
LIMIT 20,40
现在,您正在
我在Stack上看到了一些用于为MySQL查询检索行号所需的查询示例。我想要做的是对此做一些扩展,以便允许我限制结果集,其中行号位于两个值之间。这允许对我的结果表进行分页。
到目前为止,我的问题是:
SELECT l.ID, l.Name, l.Value, @curRow := @curRow + 1 AS row_number
FROM (
SELECT * FROM $table
ORDER BY Name ASC
) l
JOIN (
SELECT @curRow := 0
) r
WHERE row_number BETWEEN 1 AND 3
这个查询直到我在末尾添加w
我有一个使用多个MYSQL数据库的应用程序,结果被合并到一个数据库中,但是在使用我的查询限制时存在一个问题。
我有:
MYSQL 1- view_users
MYSQL 2- view_users
MYSQL 3- view_users
有疑问:
SELECT * FROM `view_users`
ORDER BY `date` DESC LIMIT 0, 25
我得到的结果是正确的:
MYSQL 1-返回25行
MYSQL 2-返回25行
MYSQL 3-返回25行
我想实现的结果是只得到25行,而不是75行,因为我的分页中断了。
期望的结果: MYSQL 1,MYSQL 2,MYSQL
这是在我的网站上排序搜索结果的一个问题,
进行搜索时,内容页上会出现随机结果,此页面也包含分页。用户跟随我的SQL查询。
SELECT * FROM table ORDER BY RAND() LIMIT 0,10;
所以我的问题是
我需要确保每次用户访问下一页时,他们已经看到的结果不再出现(在下一个查询中排除它们,以内存高效的方式,但仍然按rand()排序)。
每次访问第一页时,都会有不同的结果集,是否可以使用分页,或者排序总是随机的。
我可以在MYSQL中使用种子,但是我不知道如何实际使用它。
有可能在mysql表中找到一行的位置吗?
例如,如果我们有mysql查询
SELECT * FROM `table` WHERE `Date` > X ORDER BY `Date` DESC
这将选择在X之后创建的所有行,并根据它们创建的日期排列它们。现在,如果我知道其中一个行ID,是否可以修改这个查询代码,以便知道它在这个查询中的位置。
我的意思是说,查询提供5行,而我知道它的ID是其中之一的行,是否可以检查它在查询中的位置。我是说,是第一,第二,第五。
我希望我能清楚地解释我的问题。
利用Blizz的建议我发现
SET @I=0; SELECT @I:=@I+1 AS `I`, `
我试图在导入文件后对表进行重新排序,但在此查询中遇到mysql语法错误:
ALTER TABLE tablename ORDER BY str_to_date(date, '%m/%d/%Y'), time_to_sec(time) ASC
有人能看出这有什么问题吗?这是我得到的错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(date,
使用MySQL,我有许多查询,如下所示:
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 0
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 1000
SELECT * FROM table_name WHERE some_clause ORDER BY id LIMIT 1000 OFFSET 2000
SELECT * FROM table_name WHERE some_clause ORDER
我曾想过如何用3种注释(第一种正面评论、第二种负面评论和第三种中性评论)从表中选择一个复杂的查询。使用PHP,我想首先选择和播放负面评论,然后是负面评论,然后播放所有其他类型的注释。如何使用一个SELECT查询与我用来分离分页的限制一起播放它们?
表的例子:
id - unique id
type - (value 1-positive, 2-negative, 3-neutral)
text - value
我被认为是第一个SELECT * FROM comments WHERE type='2' ORDER BY id LIMIT 0,100
while(){
...