如何在sql中使用分区

时间:2017-04-10 22:36:23

标签: sql oracle

我试图找出并得出结论,分区应该用于此任务。但是,我以前从未使用过它。

我有一张表:

id  status
1    3
2    1
1    4
3    2
3    3
1    5

我想得到所有不具有状态为5的ID的列表。请帮助!!

3 个答案:

答案 0 :(得分:2)

SELECT ID
FROM   table_name
GROUP BY ID
HAVING COUNT( CASE status WHEN 5 THEN 1 END ) = 0

答案 1 :(得分:0)

尽可能简单,我认为这对你有用。您的示例可能更具体,因此我希望您正在尝试这样做。

SELECT DISTINCT id
FROM table_name
WHERE id NOT IN (SELECT id FROM table_name WHERE status = 5);

答案 2 :(得分:-1)

您不需要分区来执行此任务。你所要做的就是 从中选择ID 状态不在('5')