此查询不按我想要的方式排序结果

时间:2012-06-25 01:09:22

标签: mysql

SELECT DISTINCT u.first, u.last FROM users u, user_friends f 
WHERE f.userId = 1 AND u.id = f.friendId 
ORDER BY u.first ASC, u.last ASC

基本上我要做的是获取所有用户的列表,这些用户是当前用户的朋友(在这种情况下其id为1),按照名字和姓氏的升序排列。

所以爱丽丝安娜将会出现在Alice Zanna之上。

但是现在只订购了第一个名字,即Alice Anna和Alice Zanna都显示在Bob Anna之上,但是如果将Alice Zanna添加到她之前的数据库中,Alice Zanna将显示在Alice Anna之上。

有关如何正确排序名字和姓氏的任何想法吗?

2 个答案:

答案 0 :(得分:2)

如何排序concatonated名字和姓氏:

SELECT DISTINCT u.first, u.last FROM users u, user_friends f 
WHERE f.userId = 1 AND u.id = f.friendId 
ORDER BY CONCAT(u.first, u.last) ASC

答案 1 :(得分:1)

按连接值排序,例如

Order by u.First + ' ' + u.Last Asc