Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 多列和排序_Mysql_Max - Fatal编程技术网

Mysql 多列和排序

Mysql 多列和排序,mysql,max,Mysql,Max,我已经尝试了好几个小时让我的SQL查询按价格排序。我们开始: 表INFO id (unique id) mid (some id) name 表价格 id (some unique id) fuid (id for showing wich entry from INFO this price is connected to) dated (date) SQL查询: select INFO.id, INFO.mid, INFO.name, PRICES.price, PRICES.date

我已经尝试了好几个小时让我的SQL查询按价格排序。我们开始:

INFO

id (unique id)
mid (some id)
name 
价格

id (some unique id)
fuid (id for showing wich entry from INFO this price is connected to)
dated (date)
SQL查询:

select INFO.id, INFO.mid, INFO.name, PRICES.price, PRICES.dated
from INFO, PRICES
WHERE INFO.id = PRICES.fuid
ORDER BY PRICES.dated asc
limit 100
我想要的结果是
INFO
中所有条目的列表,以及
PRICES
中的最新价格。仅限最新价格,每个
INFO
条目一个价格

我得到的:我从
INFO
中得到一个独特条目列表,但我得到的是在
PRICES
中输入的第一个价格,而不是最新的价格


我无法使用
max()
来帮助我对价格列进行排序。有谁知道如何解决这个问题吗?

您是否使用了
groupby
MAX()
?以下使用
MAX()
groupby
可能会满足您的需要:

select INFO.id, INFO.mid, INFO.name, PRICES.price, MAX(PRICES.dated) 
from INFO, PRICES 
where INFO.id = PRICES.fuid
group by INFO.id, INFO.mid, INFO.name, PRICES.price
order by INFO.name asc 
limit 100
请注意,
orderby
列可以是您想要的任何内容;它不必是
MAX(PRICES.dated)


编辑:我明白你的意思。您可以使用这样的临时表。

您是否使用了
groupby
MAX()
?以下使用
MAX()
groupby
可能会满足您的需要:

select INFO.id, INFO.mid, INFO.name, PRICES.price, MAX(PRICES.dated) 
from INFO, PRICES 
where INFO.id = PRICES.fuid
group by INFO.id, INFO.mid, INFO.name, PRICES.price
order by INFO.name asc 
limit 100
请注意,
orderby
列可以是您想要的任何内容;它不必是
MAX(PRICES.dated)


编辑:我明白你的意思。您可以使用这样的临时表。

对不起,您发布了错误的SQL查询。我的查询应该是:选择INFO.id、INFO.mid、INFO.name、PRICES.price、PRICES.dated from INFO、PRICES其中INFO.id=PRICES.fuid按INFO.id分组按价格订购按价格日期asc limit 100。有了这个组,我在INFO表中的每个条目只命中一次。kensnyder,通过您的查询,我从prices列中获得了很多包含所有价格的行。我只希望每个信息行有一个条目…抱歉,发布了错误的SQL查询。我的查询应该是:选择INFO.id、INFO.mid、INFO.name、PRICES.price、PRICES.dated from INFO、PRICES其中INFO.id=PRICES.fuid按INFO.id分组按价格订购按价格日期asc limit 100。有了这个组,我在INFO表中的每个条目只命中一次。kensnyder,通过您的查询,我从prices列中获得了很多包含所有价格的行。我希望每个信息行只有一个条目。。。