Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
Mysql SQL查询:获取产品大于1的订单_Mysql_Sql_Count_Aggregate Functions_Having Clause - Fatal编程技术网

Mysql SQL查询:获取产品大于1的订单

Mysql SQL查询:获取产品大于1的订单,mysql,sql,count,aggregate-functions,having-clause,Mysql,Sql,Count,Aggregate Functions,Having Clause,psa_psofk是订单ID,psa_prdfk是产品ID。我只想要那些有多个产品的订单,即我不想要订单1和5。您可以使用group by并拥有: 这假设没有重复的psa_psofk、psa_prdfk。否则,您需要将having子句更改为: having count(distinct psa_prdfk) > 1 如果需要整行,则有一个选项使用exists: 这里的大多数人希望示例表数据和预期结果是格式化文本,而不是图像。@jarlh,但有明显的例外:-但我不想对订单进行分组。我想要一

psa_psofk是订单ID,psa_prdfk是产品ID。我只想要那些有多个产品的订单,即我不想要订单1和5。

您可以使用group by并拥有:

这假设没有重复的psa_psofk、psa_prdfk。否则,您需要将having子句更改为:

having count(distinct psa_prdfk) > 1
如果需要整行,则有一个选项使用exists:


这里的大多数人希望示例表数据和预期结果是格式化文本,而不是图像。@jarlh,但有明显的例外:-但我不想对订单进行分组。我想要一张完全一样的桌子,没有第一排和最后一排,像个魔咒。多谢各位
having count(distinct psa_prdfk) > 1
select t.*
from mytable t
where exists (
    select 1 
    from mytable t1 
    where t1.psa_psofk = t.psa_psofk and t1.psa_prdfk <> t.psa_prdfk
)