Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Mysql中显示重复值_Php_Mysql - Fatal编程技术网

Php 在Mysql中显示重复值

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

我有一个名为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(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您想要收据状态对应的日期?该日期是否总是最晚的?是的,接收状态日期总是比发送日期晚。