ISFULL() 函数在 MySQL 中并不存在。但是,你可以使用 COUNT() 和 GROUP BY 来实现类似的功能。假设你有两个表,一个是 orders(订单),另一个是 order_itEMS(订单项),你想要找出哪些订单已经完全发货。
这里有一个简单的例子:
SELECT o.id AS order_id, COUNT(oi.id) AS total_items, SUM(oi.is_shipped) AS shipped_itemsFROM orders oJOIN order_items oi ON o.id = oi.order_idGROUP BY o.id;这个查询将会返回每个订单的 ID、订单项总数以及已发货的订单项数量。然后,你可以通过比较 total_items 和 shipped_items 来判断订单是否已经完全发货。
如果你想要只显示已完全发货的订单,可以使用 HAVING 子句:
SELECT o.id AS order_idFROM orders oJOIN order_items oi ON o.id = oi.order_idGROUP BY o.idHAVING COUNT(oi.id) = SUM(oi.is_shipped);这个查询将只返回那些已经完全发货的订单 ID。


