我想創建子菜單菜單。因此,我需要做的就是將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)' –