嗨,有一个类别表
categoryId
Categoryname
Type
这些是列名,所以我需要显示所有类别,其中type ='card',但最上面的常规类别是我的代码
SELECT * FROM `tbl_Catagory`
where CatagoryId=1 and type='Card'
union select * from tbl_Catagory`
where CatagoryId !=1 and type='Card'
order by CatagoryId desc`
在这里,我得到了
desc
的顺序,但底部却是general
,所以我需要的是顶部的general
类别,其余类别基于categoryId
降序显示 最佳答案
您不需要UNION
:
SELECT *
FROM tbl_Catagory
WHERE type='Card'
ORDER BY (CatagoryId=1) DESC
, CatagoryId DESC
之所以起作用,是因为
True
的值为1
,而False
的值为0
。 ORDER BY
的第一部分确保仅对具有CatagoryId=1
的组件进行排序。然后,所有其余的随后按其CategoryId降序排序。关于php - 查询中的联合无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9511668/