假设我有一个名为“products”的表和一个名为“Product”的Model。
‘'products’表有3个字段id,title,price,created
我想要计算cal_price (每个记录和搜索日期不同),并创建一个包含4个字段的临时表,即id、title、price、cal_price和order by cal_price
现在,我想要的就是对这个临时表进行分页。
使用$this->paginate();
例如:
table_products
id title price created
3 demo1 23 201
通常,如果order字段是唯一的,我们将像这样编写分页SQL:
SELECT *
FROM (
SELECT XX.*, ROWNUM AS RN
FROM (
SELECT *
FROM T_LOG
WHERE OP_TYPE = 'Q' ORDER BY L_DATE
) XX
WHERE ROWNUM <= 500
) XXX
WHERE RN > 0;
但是在我的例子中,L_DATE字段并不是唯一的,甚至可能也是空的。我不想在L_DATE之后放更多的字段(实际上,这个字段是动态的
我正在使用NHibernate对商品名称进行搜索。我正在从数据库中获取一个分页的项目列表,并按项目名称升序对其进行排序。
因此,如果我搜索“term”,我会得到一个在结果中任意位置都包含“term”的结果页面,页面按字母顺序排序。
例如,结果可能如下所示
a term
d term
g term
j term
p term
s term
term 1
term 2
v term
z term
从技术上讲,这个列表是正确的,因为它是按字母顺序排序的。
然而,技术上的正确性对客户来说还不够好。他们希望列表首先按要搜索的词的相关性排序,然后按字母顺序排序。
所以结果会变成
term 1
te
我尝试在术语页面中使用分页(例如/layouts/tags/terms.html),因为我得到了很多标签。
我还想显示我所有的标签,按受欢迎程度排序。对于最后一点,我做到了:
{{ range .Data.Terms.ByCount}}
...
{{ end }}
它工作得很好。
我试过了:
1)
{{ range .Data.Terms.ByCount}}
{{ range .Paginator.Pages }}
...
{{ end }}
{{ end }}
但是我得到了“无法在类型hugolib.OrderedTaxonomyEntry中计算字段分页器”的错误。
2)
{{ range
这是在我的网站上排序搜索结果的一个问题,
进行搜索时,内容页上会出现随机结果,此页面也包含分页。用户跟随我的SQL查询。
SELECT * FROM table ORDER BY RAND() LIMIT 0,10;
所以我的问题是
我需要确保每次用户访问下一页时,他们已经看到的结果不再出现(在下一个查询中排除它们,以内存高效的方式,但仍然按rand()排序)。
每次访问第一页时,都会有不同的结果集,是否可以使用分页,或者排序总是随机的。
我可以在MYSQL中使用种子,但是我不知道如何实际使用它。
我正在尝试理解分页在mySQL中是如何工作的。考虑到我有大量数据要根据select查询进行检索,在select语句中添加不同的列会如何改变分页?
例如Select name from employee; vs Select name, employeeId from employee;
在选择字段中使用employeeId将有助于以更有效的方式检索数据,即使该字段不是必需的。将其添加为employeeId将被编入索引。
谢谢
我希望我不需要求助于自定义查询。
一个相关的问题是:我如何检索数据,以便如果关联的模型为空,则根本不检索任何记录,而不是关联模型的空数组?
作为一个过于简化的示例,假设我有以下模型: City --> Street --> House
如何按门牌号对City结果进行排序?
如何检索至少包含一个房屋的City restuls?我不想要一个包含城市名称和详细信息的记录,以及一个空的House数组,因为这会弄乱分页结果。
CakePHP在一个单独的查询中检索属于这条街的房屋记录,所以在搜索查询的'order‘字段中输入类似'House.number DESC’的内容会返回
我试图使用redis作为mongodb数据库的缓存层,我的要求是我拥有由亚洲大陆和欧洲大陆所有城市组成的城市集合,在这些数据上我需要使用regex和分页按城市名称进行搜索。我把所有的城市收藏品都扔到了红杉里。问题是当我能够进行分页但不能使用zscan and match进行区分大小写的搜索时。请帮助我解决我的方法与redis是对还是错。