Php 在Mysql中显示重复值
我有一个名为sales的表,其中包含“sales\u id”、“status”和“product\u id”字段。我需要一个列表,当一个产品id出现两次时,该列表仅显示不同的状态=SENT,状态=receive。Php 在Mysql中显示重复值,php,mysql,Php,Mysql,我有一个名为sales的表,其中包含“sales\u id”、“status”和“product\u id”字段。我需要一个列表,当一个产品id出现两次时,该列表仅显示不同的状态=SENT,状态=receive。 汇总仅显示产品在不同销售id中具有这两种状态时的重复项。您可以从以下子查询开始: SELECT product_id FROM sales WHERE status IN ('SENT', 'RECEIPT') GROUP BY product_id HAVING MIN(st
汇总仅显示产品在不同销售id中具有这两种状态时的重复项。您可以从以下子查询开始:
SELECT product_id
FROM sales
WHERE status IN ('SENT', 'RECEIPT')
GROUP BY product_id
HAVING MIN(status) = 'RECEIPT' AND MAX(status) = 'SENT';
SELECT DISTINCT product_id, status FROM sales
这将为产品id和状态的每个组合提供一行。然后你可以这样总结:
SELECT product_id
FROM (
SELECT DISTINCT product_id, status FROM sales
) x
GROUP BY product_id
HAVING COUNT(*) > 1
这将生成一个包含多个状态值的product_id值列表。请阅读stackoverflow.com/help/how-to-askOh好的,也许下次吧。抱歉,我错过了部分代码,现在它工作得很好,只需要最后一个疑问。两次销售的日期不一样,我想让他给我看一下从侧面收到的日期。是否为?@BonfimJunior您想要收据状态对应的日期?该日期是否总是最晚的?是的,接收状态日期总是比发送日期晚。