Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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_Sql - Fatal编程技术网

使用PHP和mysql进行多个条件分组和计数

使用PHP和mysql进行多个条件分组和计数,php,mysql,sql,Php,Mysql,Sql,首先,我很抱歉我的英语不好,也很抱歉没有提供代码,因为我正在使用我的手机,而我的代码在我的办公室电脑上。我一直在谷歌上搜索,并试图使用UNION,但结果并不像我预期的那样。请帮我解决这个问题 我的mysql上有一个访问表: 这是我尝试过的UNION: 我在html表中的预期结果是: 因此,条件是每个相同日期的第一列和第一行仅显示日期,商户名称对于每个act和结果仅显示一次,并对多个日期使用countbyitemid=>itemqty。我希望有人能帮我。我会试试看。选择状态很棘手,所以我使用了MA

首先,我很抱歉我的英语不好,也很抱歉没有提供代码,因为我正在使用我的手机,而我的代码在我的办公室电脑上。我一直在谷歌上搜索,并试图使用
UNION
,但结果并不像我预期的那样。请帮我解决这个问题

我的mysql上有一个访问表: 这是我尝试过的
UNION
: 我在html表中的预期结果是:
因此,条件是每个相同日期的第一列和第一行仅显示日期,商户名称对于每个
act
和结果仅显示一次,并对多个日期使用
countbyitemid
=>
itemqty
。我希望有人能帮我。

我会试试看。选择状态很棘手,所以我使用了MAX函数

select
  MIN(date),
  merchant,
  act,
  MAX(result),
  count(itemid) as itemqty
from MYTABLE 
GROUP BY merchant, act

我不知道如何解释…我只是尝试着从@beiller answer编辑错误

这是为我的预期结果所做的SQL工作:
@大安:垃圾邮件?如何?欢迎来到堆栈溢出!这个问题缺乏信息。你能分享你的尝试吗?你遇到了什么问题?是的,它揭示了你的数据存在问题。您需要哪些具体规则来确定它是OK还是NOK?是“itemid”最高的组的状态吗?或者说NOK总是胜过OK?不……OK和NOK是技术支持在该日期访问商户时所采取的行动的结果……因此,上面的访问表是指2015年7月19日,技术支持访问3G Power商户进行维护(我称之为访问)有2件物品且两件物品在同一日期均结果正常,也会前往有4件物品的Anamely商户,对3件物品进行访问,并修复1件物品,结果2项访问行为正常,1项访问为NOK,1项修复为NOK…因为修复行为在该日期为NOK,技术支持于2015年7月20日再次返回anamely merchant,这一次结果是确定的,在这一天,技术支持也前往Garden Bay merchant访问1个项目并安装1个新项目,两个结果都是确定的
create view allvisit (date, merchant, act, result, itemqty) as
select date, merchant, act, 'OK', count(itemid) from visit where result='OK' group by merchant
union
select date, merchant, act, 'NOK', count(itemid) from visit where result='NOK' group by merchant
| date              | merchant     |  act      | result | itemqty |
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
| 2015-07-19        | 3G Power     | visit     | OK      | 2      |
|                   | Anamely      | visit     | OK      | 2      |
|                   | Anamely      | visit     | NOK     | 1      |
|                   | Anamely      | repair    | NOK     | 1      |
| 2015-07-20        | Garden Bay   | visit     | OK      | 1      |
|                   | Garden Bay   | install   | OK      | 1      |
|                   | Anamely      | repair    | OK      | 1      |
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
|     total work day.               | 2 days | tot qty| 9 items   |
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
select
  MIN(date),
  merchant,
  act,
  MAX(result),
  count(itemid) as itemqty
from MYTABLE 
GROUP BY merchant, act
create view allvisit (date, merchant, act, result, itemqty) as
select min(date) as date, merchant, act, 'OK', count(itemid) from visit where result='OK' group by merchant,act
union
select min(date) as date, merchant, act, 'NOK', count(itemid) from visit where result='NOK' group by merchant,act