Php 从mysql表中查询最低价格
我有两张桌子: 一个表包含不同的笔记本电脑规格Php 从mysql表中查询最低价格,php,mysql,sql,Php,Mysql,Sql,我有两张桌子: 一个表包含不同的笔记本电脑规格 laptop: |partNumber|picture|laptopName|laptopProcessor|visibility| .......................................................... |AB00001 |pic1 |lenovo.. |intel core I5 |1 | |AB00002 |pic2 |samsung |AMD sempro
laptop:
|partNumber|picture|laptopName|laptopProcessor|visibility|
..........................................................
|AB00001 |pic1 |lenovo.. |intel core I5 |1 |
|AB00002 |pic2 |samsung |AMD semprom 3.8|1 |
另一个表是库存表,我有多个商店,每个商店对特定的笔记本电脑有不同的价格
inventory:
|partNumber|shopName|price|qty|
...............................
|AB00001 |shop1 |554 |2 |
|AB00002 |shop1 |356 |4 |
|AB00002 |shop3 |400 |1 |
|AB00001 |shop4 |625 |5 |
|AB00002 |shop4 |345 |3 |
我想写一个查询,列出最便宜的笔记本电脑,所以我写了以下内容:
SELECT laptop.partNumber, laptop.picture, laptop.laptopName, laptop.laptopProcessor,
inventory.MIN(price)
FROM laptop INNER JOIN inventory ON inventory.partNumber=laptop.partNumber
WHERE visibility="1"
所以基本上我想展示所有价格最好的笔记本电脑,它在没有价格查询的情况下工作,但是我不能将这个MIN()函数添加到查询中,我想我错过了语法,但我不知道应该如何工作。请帮帮我。试试这个:
选择laptop.partNumber,
笔记本电脑,图片,
laptop.laptopName,
laptop.laptop处理器,
最低(库存价格)
从笔记本电脑
inventory.partNumber=laptop.partNumber上的内部联接库存
其中visibility=“1”
按笔记本电脑分组。零件号,
笔记本电脑,图片,
laptop.laptopName,
laptop.laptop处理器
语法是MIN(列名)
,因此应该是MIN(inventory.price)
。但是您还需要添加一个GROUP BY
子句,否则整个表只有一个结果
然后,由于要按笔记本电脑分组,请添加
按库存分组.partNumber
。如果partNumber
不是laptop
表的主键,则还应添加其他列。您缺少分组依据
SELECT laptop.partNumber, laptop.picture, laptop.laptopName, laptop.laptopProcessor,
inventory.MIN(inventory.price)
FROM laptop INNER JOIN inventory ON inventory.partNumber=laptop.partNumber
WHERE visibility="1"
GROUP BY laptop.partNumber, laptop.picture, laptop.laptopName, laptop.laptopProcessor
将其更改为laptop.partNumber=inventory.partNumber,然后再次尝试运行它
MIN(inventory.price)