php - 查询查找以相同价格出售三种不同啤酒的所有酒吧

标签 php mysql

查询查找“所有酒吧以相同的价格出售三种不同的啤酒?”

我的 table 是

销售(酒吧,啤酒,价格) - 酒吧 - 外键.. Bars(name,addr) - 名称主键。

我想到了类似的东西,但似乎不起作用......

 Select A.bar As bar , B.bar as bar  
 From Sells AS A, Sells AS B 
 Where A.bar = B.bar and A.beer <> B.beer  
 Group By(A.beer) 
 Having Count(Distinct A.beer) >= 2

这是正确的 SQL 查询吗?

最佳答案

我会这样做:

Select A.bar
From Sells AS A
JOIN Sells AS B ON (A.bar = B.bar AND A.price = B.price 
    AND A.beer <> B.beer)
JOIN Sells AS C ON (A.bar = C.bar AND A.price = C.price 
    AND A.beer <> C.beer AND B.beer <> C.beer)

特别是在 MySQL 中,连接解决方​​案可能比 GROUP BY 更有效。

关于php - 查询查找以相同价格出售三种不同啤酒的所有酒吧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2760444/

相关文章:

mysql - 通过传递 idProduct、数量来过滤查询

mysql - 内连接已存在的每组最大 n

mysql - 如何将存储在注册表中的Mysql odbc连接字符串整理为纯文本

php - 如何对多行结果的 json 进行编码?

php - 聪明的语法问题

php - 我可以使用一个执行两个操作的提交按钮吗?

javascript - 通过HTML表单访问PHP文件

javascript - 动态添加表单,可以插入到sql表中

mysql - SQL 这是外连接还是内连接以及如何在数组上连接

php - yii2中Ajax保存到数据库