我是新手,我的SQL知识非常基础。我开始学习了。
我想知道只有在列值相同时才能选择不同的行值:
通过所有OrderID,我只想找到OrderID有2个不同UserID
的情况我希望我的问题很清楚。
非常感谢你的帮助和我正在使用Exasol的费用。
很高兴认识你们所有人
JD
答案 0 :(得分:0)
我不确定我是否正确理解你,但你是说这个吗?
我认为你的表看起来像这样
+ --------- + -------- +
| OrderID |用户ID |
+ --------- + -------- +
|订单1 | UserA |
+ --------- + -------- +
|订单1 | UserB |
+ --------- + -------- +
SELECT OrderID, COUNT(*)
FROM myTable
GROUP BY OrderID
HAVING COUNT(*) = 2
HAVING子句查找包含2个用户的订单。
答案 1 :(得分:0)
非常感谢你的帮助,很抱歉我的问题不够清楚
无论如何,我确实设法在你的帮助下提取所需内容。
SELECT OrderID,COUNT(UserID)
这
(
选择UserID ,订单ID
来自mytable
分组1,2
)
GROUP BY 1 有COUNT(不同的UserID)> = 2
谢谢你
JD