2016-01-28 169 views
-1

CakePHP的分页我有以下复杂查询

id | Title | brand | 
---+---------+-------+ 
1 |product1 | Lg | 
2 |pruduct2 | Lg | 
3 |pruduct3 | Lg | 
4 |pruduct4 | Lg | 
5 |pruduct5 | Lg | 
6 |pruduct6 |samsung| 
7 |pruduct7 |samsung| 
8 |pruduct8 |samsung| 
9 |pruduct9 |samsung| 
10 |pruduct10|samsung| 
11 |pruduct11| sony | 
12 |pruduct12| sony | 
13 |pruduct13| sony | 
14 |pruduct14| sony | 
15 |pruduct15| sony | 

我们需要一些查询的,我可以随意通过品牌
结果给出一个数据库结构 输出应该像

id | Title | brand | 
---+---------+-------+ 
1 |product1 | Lg | 
6 |pruduct6 |samsung| 
11 |pruduct11| sony | 
2 |pruduct2 | Lg | 
7 |pruduct7 |samsung|  
12 |pruduct12| sony | 
.... and so on 

我有以下可以检索到相同结果的查询

select id, title,brand row_number() over (partition by brand_id) as 
row_num from product_test order by row_; 

This doesn “T使用MySQL的不幸 需要提前发现或基于CakePHP的一个解决方案的任何其他apporach

感谢

+2

目前还不清楚是什么您正试图实现,而您尚未说明您正在使用的CakePHP版本。 – drmonkeyninja

+0

很清楚需要做什么,但他希望你为他编写代码。 :)他希望你为他提供的SQL查询编写ORM代码。 – burzum

回答

0

您可以模拟下列方式查询:

SELECT @rownum := 0, @brand := NULL; 

SELECT 
    id 
, title 
, brand 
FROM (
    SELECT 
    id 
    , title 
    , brand 
    , @rownum := IF(@brand <=> brand, @rownum + 1, 1) AS row_num 
    , @brand := brand AS dummy 
    FROM 
    product_test 
    ORDER BY 
    brand 
    , id 
) product_test 
ORDER BY 
    row_num 
, brand 
, id;