我有一个数据库,这是一个培训计划的出席名单。在这个名单-第一次订阅获得优先权-和本地用户也有优先权。
数据库:
ID NAME SUBSCRIPTION DATE COUNTRY
1 JOHN 2018-04-05 12:00:00 USA
2 MARY 2018-04-05 12:30:00 CANADA
3 CARL 2018-04-05 13:00:00 USA
我需要一种像这样对表排序的方法:
ID NAME SUBSCRIPTION DATE COUNTRY
1 JOHN 2018-04-05 12:00:00 USA
3 CARL 2018-04-05 13:00:00 USA
2 MARY 2018-04-05 12:30:00 CANADA
卡尔是从美国来的,那么我需要优先考虑他,甚至玛丽也提前订阅了。
你知道吗?
- 重要提示:国家优先级根据培训地点而变化。(这里的地点是"美国",但可以是任何国家)
我试过这个:
SELECT * FROM SUBSCRIPTION_TABLE ORDER BY COUNTRY = 'LOCAL_COUNTRY_VAR', SUBSCRIPTION_DATE
但没有成功。
2条答案
按热度按时间zxlwwiss1#
您似乎希望先在美国订购,然后按日期订购:
在MySQL中,您可以执行以下操作:
0g0grzrc2#
我建议创建一个单独的表与位置和优先级代码(整数)。内部连接两个,然后按优先级代码升序排序。美国将有优先级1,加拿大将是2。