我有一个查询,在这个查询中它从我的 userTable 中返回结果就好了。但是,我正在尝试找出一种方法来首先显示我们大学的个人资料,然后再显示结果。最好的方法是什么?
$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%'
ORDER BY Lname ASC"
我的数据库有一个名为“教育”的列,其中显示了个人资料来自的大学。我们想先使用我们的大学进行排序,然后再显示其他结果。
我有一个查询,在这个查询中它从我的 userTable 中返回结果就好了。但是,我正在尝试找出一种方法来首先显示我们大学的个人资料,然后再显示结果。最好的方法是什么?
$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%'
ORDER BY Lname ASC"
我的数据库有一个名为“教育”的列,其中显示了个人资料来自的大学。我们想先使用我们的大学进行排序,然后再显示其他结果。
尝试这个
$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%'
ORDER BY Education ASC, Lname ASC"
这将从 az 按升序排列“教育”
编辑
$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%'
CASE WHEN Education = 'ThisUniv' then 1 else 2 end,education, Lname ASC"
将耶鲁更改为您所在大学的名称
像这样的东西会起作用。你给那些你想先显示的人一个排名,而不是你给那些你想稍后显示的人的排名。这不是一个非常有效的查询。
SELECT innerquery.*
FROM (SELECT 1 AS RANK,
u1.*
FROM userTable u1
WHERE u1.keyID LIKE '%".getID."%'
AND education = 'my uni'
ORDER BY u1.Lname ASC
UNION
SELECT 2 AS RANK,
u2.*
FROM userTable u2
WHERE u2.keyID LIKE '%".getID."%'
AND education <> 'my uni'
ORDER BY u2.Lname ASC
) innerquery
ORDER BY RANK, Lname asc