Mysql,不同计数器
桌子 我需要这样的结果Mysql,不同计数器,mysql,mysqli,Mysql,Mysqli,桌子 我需要这样的结果 id Company Name Price 1 xxx namea 1 2 xxx nameh 1.1 3 xxx nameg 2 4 yyy namef 1.5 5 zzz named 1.7 6 zzz names 0.9 正如你们所看到的,我们为公司计算数字,它应该为分页正常工作。这意味着,如果我们在第二页的每一页上都有x2个条目,那么第
id Company Name Price
1 xxx namea 1
2 xxx nameh 1.1
3 xxx nameg 2
4 yyy namef 1.5
5 zzz named 1.7
6 zzz names 0.9
正如你们所看到的,我们为公司计算数字,它应该为分页正常工作。这意味着,如果我们在第二页的每一页上都有x2个条目,那么第三页上就会有数据计数器1和2,只有3个
问题出在数据计数器中,因为它应该在每一页上再次计数。按“公司ASC、名称ASC、价格ASC”订购
我应该如何为此创建查询?这将按公司计算排名()
dCounter Company Name Price
1 xxx namea 1
1 xxx nameh 1.1
1 xxx nameg 2
2 yyy namef 1.5
3 zzz named 1.7
3 zzz names 0.9
您可以在这里查看:
select
@rn := case when @company <> company then @rn + 1 else @rn end as rn,
@company := company as cia,
Name,
Price
from
(select @rn := 0) i,
(select @company := company as company, Name, Price
from ff order by company) t;
+----+-----+-------+-------+
| rn | cia | Name | Price |
+----+-----+-------+-------+
| 1 | xxx | namea | 1,00 |
+----+-----+-------+-------+
| 1 | xxx | nameh | 1,10 |
+----+-----+-------+-------+
| 1 | xxx | nameg | 2,00 |
+----+-----+-------+-------+
| 2 | yyy | namef | 1,50 |
+----+-----+-------+-------+
| 3 | zzz | named | 1,70 |
+----+-----+-------+-------+
| 3 | zzz | names | 0,90 |
+----+-----+-------+-------+