如何Mysqli查询特定记录?

时间:2013-10-29 17:51:05

标签: mysql

我有一个查询,在这个查询中它会从我的userTable中恢复结果就好了。但是,我试图找出一种方法来显示我们大学的个人资料,然后显示结果。什么是最好的方法?

$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%' 
ORDER BY Lname ASC"

我的数据库有一个名为“education”的列,显示了配置文件来自的大学。我们希望先使用我们的大学排序,然后再显示其他结果。

2 个答案:

答案 0 :(得分:0)

试试这个

$sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%' 
ORDER BY Education ASC, Lname ASC"

这将从a-z

按升序排序“教育”

修改

 $sql = mysqli_query($con, "SELECT * FROM userTable WHERE keyID LIKE '%".getID."%' 
CASE WHEN Education = 'ThisUniv' then 1 else 2 end,education, Lname ASC"

将耶鲁改为大学名称

答案 1 :(得分:0)

这样的事情会起作用。你给那些你希望在你希望稍后显示的等级上首先显示的等级给出等级。这不是一个非常有效的查询。

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