如何在Order By子句中正确使用IN表达式?我有几个这样的问题,我找不到解决方案。
我想从客户列表中选择ID,姓氏,国家并先由北美国家(加拿大和美国,相应的ID)订购,然后一旦填充,我想根据ID订购剩余数据单独
Select customerid, lastname, country
From customer
Where country IN ('Canada', 'USA')
Order By CustomerID
Here正是他们所寻找的。 p>
我已经尝试过Where子句并嵌套查询,但我是新手。
欢迎任何建议。
答案 0 :(得分:2)
您不想使用where
条件,而是使用条件排序:
Select customerid, lastname, country
From customer
Order By country IN ('Canada', 'USA') desc, CustomerID
答案 1 :(得分:0)
您还可以在$active_ids = '1, 3, 4';
$query = "SELECT * FROM users WHERE id IN ({$active_ids})";
$result = $mysqli->query($query);
$query = "SELECT dj, count(*) AS n FROM timetable WHERE dj IN ({$active_ids}) GROUP BY dj";
$result = $mysqli->query($query);
while($row = $result->fetch_assoc()){
echo $row['username'], "<br/>";
echo $row['n'], "<br/>";
}
中写一个case
以获得更多选项。
<强> sqlFiddleDemo 强>
order by