MySql多选一行
我不知道如何从表中获取行: 我在一个范围/条件中搜索,需要7列:最大价格、最小价格、最后价格、如果和何时价格>=x,因此第一个价格>=x及其时间,如果和何时价格将单词放在每个join语句的前面MySql多选一行,mysql,sql,Mysql,Sql,我不知道如何从表中获取行: 我在一个范围/条件中搜索,需要7列:最大价格、最小价格、最后价格、如果和何时价格>=x,因此第一个价格>=x及其时间,如果和何时价格将单词放在每个join语句的前面 这样做表明查询应该返回第一个表中的所有行,而不管它是否在第二个表中找到匹配的行。感谢您的回答,我刚刚在每个表的前面添加了左行,但返回了一个1064语法错误。。。对不起,我不是专家。。。 id (int, key unique) date (varchar, don't need it) price (d
这样做表明查询应该返回第一个表中的所有行,而不管它是否在第二个表中找到匹配的行。感谢您的回答,我刚刚在每个表的前面添加了左行,但返回了一个1064语法错误。。。对不起,我不是专家。。。
id (int, key unique)
date (varchar, don't need it)
price (decimal)
unix (int, key) (unix time)
ck (int, key)
fk (int, key)
SELECT * FROM
(SELECT date , price as 'Sprc', unix as 'Sunx'
FROM prices WHERE
(unix BETWEEN 1420185600 AND 1420192800) AND
ck>0 AND fk=0 AND
price <= 1000
order by unix ASC limit 1) as tmp1
JOIN
(SELECT date , price as 'TPprc', unix as 'TPunx'
FROM prices WHERE
(unix BETWEEN 1420185600 AND 1420192800) AND
ck>0 AND
fk=0 AND
price >= 100
order by unix ASC limit 1) as tmp2
JOIN
(SELECT MIN(price) as 'min', MAX(price) as 'max'
FROM prices WHERE
ck>0 AND
fk=0 AND
(unix BETWEEN 1420185600 AND 1420192800)
order by unix ASC limit 1) as tmp3
JOIN
(SELECT date, price as 'last'
FROM prices WHERE
ck>0 AND
fk=0 AND
(unix BETWEEN 1420185600 AND 1420192800)
order by unix DESC limit 1) as tmp4;