use*_*007 5 mysql sql-order-by
我试图按月名称命令mysql查询:
January -- 5
February -- 2
March -- 5
and so on
Run Code Online (Sandbox Code Playgroud)
这是我的查询,但它没有订购:
SELECT leave_balance.balance, MonthName(leave_balance.date_added) AS month
FROM leave_balance WHERE leave_balance.staff_id_staff = $iid
GROUP BY month, leave_balance.leave_type_id_leave_type
HAVING leave_balance.leave_type_id_leave_type = $leaveBalTypID
ORDER BY month
Run Code Online (Sandbox Code Playgroud)
请告诉我我做错了什么
PSR*_*PSR 12
你可以指定喜欢
ORDER BY FIELD(MONTH,'January','February','March',...)
SELECT leave_balance.balance, MonthName(leave_balance.date_added) AS month
FROM leave_balance WHERE leave_balance.staff_id_staff = $iid
GROUP BY month, leave_balance.leave_type_id_leave_type
HAVING leave_balance.leave_type_id_leave_type = $leaveBalTypID
ORDER BY FIELD(MONTH,'January','February','March',...,'December');
Run Code Online (Sandbox Code Playgroud)
如果将来列名发生变化,您无需担心。只需在查询末尾添加:
ORDER BY str_to_date(MONTH,'%M')
Run Code Online (Sandbox Code Playgroud)
尝试使用内置的月份函数来获取月份的数字并以此排序。例如:
order by month(leave_balance.date_added)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7644 次 |
| 最近记录: |