SQL 根据单列的不同值选择记录
Posted
技术标签:
【中文标题】SQL 根据单列的不同值选择记录【英文标题】:SQL To Select Records based on different values of a single column 【发布时间】:2013-09-14 20:45:26 【问题描述】:表格
Que_id | question | isPicture | cat_det_id
1 Where are U? 1 27
2 Hello 0 22
3 Hey 1 31
4 What is Dis? 1 27
.. . . ........ .. ....
... ........... . ...
以图中的表格为例,我想根据cat_det_id的不同值选择不同的数字记录。
对于 Instance,选择 cat_det_id 为 27 的 5 条记录、cat_det_id 为 31 的 10 条记录和 cat_det_id 为 22 的 7 条记录
并且这些记录将显示为按同一 cat_det_id 升序排序的记录集。
谢谢。
【问题讨论】:
您希望结果中的每个 cat_det_id 有一行,还是要全部列出? 我认为你应该学习一些 SQL 教程 - w3schools.com/sql 【参考方案1】:编辑:出于某种原因,我假设您使用的是 mysql,但您并没有说您的问题既不是关于标签的,如果您使用的是其他 RDMS,您将不得不更改 LIMIT 部分,因为它特定于 mysql,但 union 和 order by 仍然有效。
你可以用联合来做到这一点
(SELECT * FROM YOURTABLE WHERE cat_det_id = 27 LIMIT 5)
UNION
(SELECT * FROM YOURTABLE WHERE cat_det_id = 31 LIMIT 10)
UNION
(SELECT * FROM YOURTABLE WHERE cat_det_id = 22 LIMIT 7)
ORDER BY cat_det_id ASC
【讨论】:
以上是关于SQL 根据单列的不同值选择记录的主要内容,如果未能解决你的问题,请参考以下文章