SQL根据单个列的不同值选择记录

时间:2013-09-14 20:45:26

标签: sql

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的不同值选择不同的数字记录。

For Instance选择5条cat_det_id为27的记录,10条cat_det_id为31的记录和7条cat_det_id为22的记录

并且这些记录将按照同一cat_det_id按升序排列的记录集显示。

谢谢。

1 个答案:

答案 0 :(得分:0)

编辑:由于某些原因,我假设你使用的是Mysql,但是你没有在标签上说你的问题,如果你使用其他RDMS你必须改变LIMIT部分,因为它特定于mysql,但联盟和秩序仍然有效。


你可以用联盟

来做
(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