Mysql 如何通过用户登录选择*订单?

Mysql 如何通过用户登录选择*订单?,mysql,Mysql,[询问]请帮助,例如,有一个数据 tbl_user | Id | name | | 1 | Bayu | | 2 | Indra | | 3 | Rangga | tbl_data | Id | userId | items | | 1 | 1 | Knife | | 2 | 3 | CD | | 3 | 1 | Rose | | 4 | 3 | HP | | 5 | 2 | Honey | | 6 | 1 | cups | | 7 | 1 | Yarn | | 8 | 2 | Shoes |

[询问]请帮助,例如,有一个数据

tbl_user
| Id | name |
| 1 | Bayu |
| 2 | Indra |
| 3 | Rangga |

tbl_data
| Id | userId | items |
| 1 | 1 | Knife |
| 2 | 3 | CD |
| 3 | 1 | Rose |
| 4 | 3 | HP |
| 5 | 2 | Honey |
| 6 | 1 | cups |
| 7 | 1 | Yarn |
| 8 | 2 | Shoes |
我想按项目排序表数据仅记录为用户访问 因此,例如,当用户Bayu登录时,数据的排序结果是top本身,并且数据的排序结果仍然存在

userId | items |
1 | Yarn |
1 | cups |
1 | Knife |
1 | Rose |
2 | Honey |
2 | Shoes |
3 | CD |
3 | HP |
当Indra登录时,排序结果:

userId | items |
2 | Honey |
2 | Shoes |
1 | Yarn |
1 | cups |
1 | Knife |
1 | Rose |
3 | CD |
3 | HP |
或者当Rangga登录时

userId | items |
3 | CD |
3 | HP |
1 | Yarn |
1 | cups |
1 | Knife |
1 | Rose |
2 | Honey |
2 | Shoes |
如何查询MySQL并选择它?

尝试以下操作:

 select userId, items 
 from tbl_data 
 order by userId=:userId desc, userId asc;
例如,如果Indra登录:

 select userId, items 
 from tbl_data 
 order by userId=2 desc, userId asc;
试试这个:

 select userId, items 
 from tbl_data 
 order by userId=:userId desc, userId asc;
例如,如果Indra登录:

 select userId, items 
 from tbl_data 
 order by userId=2 desc, userId asc;

当用户登录时,页面上将传入$userID:

$sql = "
SELECT userId,items
FROM tbl_data
ORDER BY if (userID = $userId, 0, userId)";

当用户登录时,页面上将传入$userID:

$sql = "
SELECT userId,items
FROM tbl_data
ORDER BY if (userID = $userId, 0, userId)";

不是最优雅的,但这应该可以做到:

SELECT userID, items FROM tbl_data, tbl_user where userId=tbl_user.id AND tbl_user.name=CURRENT_USER()
UNION
SELECT userID, items FROM tbl_data, tbl_user WHERE userId<>tbl_user.id  AND tbl_user.name=CURRENT_USER();

不是最优雅的,但这应该可以做到:

SELECT userID, items FROM tbl_data, tbl_user where userId=tbl_user.id AND tbl_user.name=CURRENT_USER()
UNION
SELECT userID, items FROM tbl_data, tbl_user WHERE userId<>tbl_user.id  AND tbl_user.name=CURRENT_USER();
首先,您必须按照登录用户的用户标识进行排序,然后按照其他用户标识的升序和降序进行排序

select userId, items 
from tbl_data 
order by FIELD(userId , $userId) desc, userId asc;
首先,您必须按照登录用户的用户标识进行排序,然后按照其他用户标识的升序和降序进行排序

select userId, items 
from tbl_data 
order by FIELD(userId , $userId) desc, userId asc;