我有一个分层定价表,显示购买的产品越多,价格越好。
我必须将这个表导入到另一个程序中,这个程序只允许我导入一次具有相同SKU的产品。这意味着我必须将csv拆分并导出到多个csv中。
下面是我的表的示例,但我的实际表有更多的结果/行。
| 斯库|数量|价格|
| - ------|- ------|- ------|
| 美国广播公司|十五|十点整|
| 美国广播公司|十个|八点整|
| 美国广播公司|五个|七点整|
| 某某|十个|五点整|
| bbb|八个|三点五十|
| 某某|十四|二十七时|
| 某某|十二|二十块五毛|
| 某某|十个|十五点五十分|
| 某某|八个|十点整|
我认为最大层数是4,如sku“xxx”,因此这意味着我总共需要4个语句。
我正在努力如何计算和分割数据到4个独立的表。
我试着添加了一个row_number函数,然后我想也许我可以只导出奇数/偶数row_numbers,但是当数量大于2时,这就不起作用了。
是否还有其他MySQL函数可以执行此任务?
我尝试实现的最终结果如下所示,每层有4条语句。
| 斯库|数量|价格|
| - ------|- ------|- ------|
| 美国广播公司|十五|十点整|
| 某某|十个|五点整|
| bbb|八个|三点五十|
| 某某|十四|二十七时|
| 斯库|数量|价格|
| - ------|- ------|- ------|
| 美国广播公司|十个|八点整|
| 某某|十二|二十块五毛|
| 斯库|数量|价格|
| - ------|- ------|- ------|
| 美国广播公司|五个|七点整|
| 某某|十个|十五点五十分|
| 斯库|数量|价格|
| - ------|- ------|- ------|
| 某某|八个|十点整|
下面是添加了row_number的数据库。
https://www.db-fiddle.com/f/ofmx1KCHBjpRhHLonjkReq/0
任何帮助都很感激谢谢
2条答案
按热度按时间gdrx4gfi1#
使用这个
row_number()
函数可以在MySQL 8.0中工作,我相信在您的MariaDB版本中也可以工作。尝试先运行查询的CTE部分,以确保它的兼容性,并更好地理解该函数是如何工作的。juzqafwq2#
即使在旧的Mysq或Maroadb版本中也可以实现这一点
查询#1
| 秩|斯库|数量|价格|
| - ------|- ------|- ------|- ------|
| 1个|美国广播公司|十五|十个|
| 1个|某某|十个|五个|
| 1个|bbb|八个|四个|
| 1个|某某|十四|二十七|
| 第二章|美国广播公司|十个|八个|
| 第二章|某某|十二|二十一|
| 三个|某某|十个|十六|
| 三个|美国广播公司|五个|七|
| 四个|某某|八个|十个|
View on DB Fiddle