mysql - 如何返回符合 1+ 行条件的不同值?
问题描述
T1订单
ID CID STATUS COUNTRY
01 1 1 3
02 2 7 NULL
03 1 1 2
04 4 NULL -1
05 6 -1 3
06 1 3 2
07 4 2 4
我需要找到所有具有 STATUS = '1' 且指定了 CONTRY 的订单的 CID(客户 ID)。从上面的数据集中 CID 1 应该返回(CID 1 有多个订单,但我只需要返回符合条件的 CID 至少在一个订单中,而不是他的所有订单)
我试过这个:
SELECT DISTINCT CID
FROM ORDERS
WHERE Status = '1' AND CONTRY IS NOT NULL AND COUNTRY != -1
但它根本不起作用。
解决方案
对我来说很好。只是多加注意...
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,cid INT NOT NULL
,status INT NULL
,country INT NULL
);
INSERT INTO my_table VALUES
(1 , 1 , 1 , 3),
(2 , 2 , 7 , NULL),
(3 , 1 , 1 , 2),
(4 , 4 , NULL , -1),
(5 , 6 , -1 , 3),
(6 , 1 , 3 , 2),
(7 , 4 , 2 , 4);
SELECT DISTINCT cid FROM my_table WHERE status = 1 AND country != -1;
+-----+
| cid |
+-----+
| 1 |
+-----+
推荐阅读
- django - AWS CodeStar/Pipeline 和 Python (Django/Flask) 的建议
- linux - 使用 F# 替代 Linux shell 脚本
- regex - 使用 PowerShell 从记事本中提取日期和时间戳
- cdi - 在 Quarkus 服务中找不到 SessionScoped bean
- oracle - 如何使用 SQL 开发人员将 Oracle 表查询数据放入多个 Excel 工作表?
- android - Android中的等效EKCalendarChooser
- python - 在 AWS Lambda 上使用 Python 中的 Pdf2img 将 pdf 页面转换为图像
- scala - 如何在 scala 隐式解析中使用 Any?
- android - 使用 ConstraintLayout 进行绝对定位
- django - 如果我的 Django 服务器收到的流量超出我的承受能力怎么办?