我想创建子菜单菜单。因此,我需要做的就是将menu_cat
显示为主菜单(不重复),而menu
是有关menu_cat
的子菜单。
像DISTINCT和GROUP BY这样的子句似乎在整行上工作。由于我的搜索,我碰到这个链接:DISTINCT for only one Column
这正是我想要做的。但是我得到错误。以下是我的查询和Phpmyadmin错误。请帮我解决这个错误。
$query = "Select * FROM ('SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY menu_id DESC) rn FROM menu')a WHERE rn = 1";
错误:
#1064 - 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 ''SELECT menu_cat,menu,manu_href,ROW_NUMBER() OVER(PARTITION BY menu_cat ORDER BY' at line 1
$query2 = "select menu_cat OVER (PARTITION BY menu_id) AS Cat,menu,menu_href from menu"
错误:
#1064 - 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 '(PARTITION BY menu_id) AS Cat,menu,menu_href from menu LIMIT 0, 30' at line 1
我认为你的查询是针对T-SQL SQL Server的,而不是针对MYsql的。 –
@ Dr.Stitch,请问如何修改mysql? – 112233
在子查询中不需要'[ROW \ _NUMBER()in MySQL](http://stackoverflow.com/questions/1895110/row-number-in-mysql)' –