Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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,我有两张桌子: 一个表包含不同的笔记本电脑规格 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)