gpt4 book ai didi

mysql - 如果 SELECT 中存在 NULL 列,则删除不同的行

转载 作者:行者123 更新时间:2023-11-29 05:12:04 25 4
gpt4 key购买 nike

我有一张交易表,

History[CustomerID, BikeID,Checkout,StationIDout,Checkin,StationIDin]

其中 CheckoutCheckinGETDATE()

我想查询历史记录,以便我收到当前在给定 StationID 的自行车(即 CheckinStationIDinNOT NULL)

我目前正在使用这个查询:

SELECT DISTINCT BikeID from History
where StationIDin = {0}
AND Checkin IS NOT NULL AND StationIDin IS NOT NULL

毫不奇怪,我仍然收到已 checkout 的自行车,因为我的查询选择了它看到的第一个 BikeID,它看到了一个已完成的交易,而没有搜索同一辆自行车未被签回的另一个实例中。

我想形成一个查询,该查询选择已 checkout 的BikeID。换句话说,在选择 BikeID 之前搜索 StationIDin 中出现的任何 NULL 并将其从结果中消除。

(我很抱歉可能用错了标题,我无法更好地描述它)

CustomerID  BikeID   Checkout   StationIDout   Checkin   StationIDin
--------------------------------------------------------------------
1001 32 6/8/16 500 6/28/16 500
1002 21 1/2/15 500 1/3/15 500
1003 32 3/7/15 500 NULL NULL

CURRENT OUTPUT:
32
21

DESIRED OUTPUT:
21

最佳答案

使用GROUP BY,而不是SELECT DISTINCT:

SELECT BikeID 
FROM History h
WHERE StationIDin = {0}
GROUP BY BikeId
HAVING SUM(CheckIn IS NULL) = 0;

这会将所有没有CheckIn记录的自行车返回为NULL

关于mysql - 如果 SELECT 中存在 NULL 列,则删除不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com