Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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_Sql_Oracle - Fatal编程技术网

Mysql 如何选择价格最高的商品?

Mysql 如何选择价格最高的商品?,mysql,sql,oracle,Mysql,Sql,Oracle,正如您所见,我在SQL Developer中工作,试图从表中获取一些数据 我想以最高的价格买到这件商品,但不知道如何管理。 为了我所尝试的价格 选择最大值(价格) 从价格 但我得到了95欧元的回报,而最高的价格是350欧元 有人能帮我,我会得到最大的价格(从表价格)和项目名称(从表项目) 编辑:这是我的表格,如果对你有帮助的话 INSERT INTO ITEM VALUES (1, 'Item one', 1); INSERT INTO ITEM VALUES (2, 'Item two', 1

正如您所见,我在SQL Developer中工作,试图从表中获取一些数据

我想以最高的价格买到这件商品,但不知道如何管理。 为了我所尝试的价格

选择最大值(价格) 从价格

但我得到了95欧元的回报,而最高的价格是350欧元

有人能帮我,我会得到最大的价格(从表价格)和项目名称(从表项目)

编辑:这是我的表格,如果对你有帮助的话

INSERT INTO ITEM VALUES (1, 'Item one', 1);
INSERT INTO ITEM VALUES (2, 'Item two', 1);
INSERT INTO ITEM VALUES (3, 'Item three', 2);
INSERT INTO ITEM VALUES (4, 'Item four', 2);
INSERT INTO ITEM VALUES (5, 'Item five', 3);
INSERT INTO ITEM VALUES (6, 'Item six', 3);

/* CREATE TABLE ITEM(
ID INTEGER NOT NULL,
NAME VARCHAR2(30) NOT NULL,
TK_ORG INTEGER NOT NULL
); */

INSERT INTO PRICE VALUES (1, 'normal', '50 €', 1);
INSERT INTO PRICE VALUES (2, 'special offer', '45 €', 1);
INSERT INTO PRICE VALUES (3, 'normal', '80 €', 2);
INSERT INTO PRICE VALUES (4, 'special offer', '150 €', 2);
INSERT INTO PRICE VALUES (5, 'normal', '40 €', 3);
INSERT INTO PRICE VALUES (6, 'special offer', '25 €', 3);
INSERT INTO PRICE VALUES (7, 'normal', '70 €', 4);
INSERT INTO PRICE VALUES (8, 'special offer', '45 €', 4);
INSERT INTO PRICE VALUES (9, 'normal', '95 €', 5);
INSERT INTO PRICE VALUES (10, 'special offer', '320 €', 5);

/* CREATE TABLE PRICE(
ID INTEGER NOT NULL,
PRICE_TYPE VARCHAR2(50) NOT NULL,
PRICE VARCHAR2(10) NOT NULL,
TK_ITEM INTEGER NOT NULL
); */

您似乎将价格存储为字符串而不是数字。在MySQL中,您可以使用静默转换来获得您想要的:

SELECT MAX(price + 0)
FROM price;
在此示例中,在Oracle中,您只需执行以下操作:

SELECT MAX(to_number(replace(price, '€', '')))
FROM price;

尽管正则表达式如果有更多的货币会更灵活。

您似乎将价格存储为字符串而不是数字。在MySQL中,您可以使用静默转换来获得您想要的:

SELECT MAX(price + 0)
FROM price;
在此示例中,在Oracle中,您只需执行以下操作:

SELECT MAX(to_number(replace(price, '€', '')))
FROM price;

尽管正则表达式如果有更多的货币会更灵活。

首先,将列类型更改为整数。现在,我假设,它是VARCHAR或TEXT。当它按第一个符号排序时,当然是9>3,这就是为什么会得到奇怪的结果。从行内容中删除€并将其移动到另一列。

首先,将列类型更改为整数。现在,我假设,它是VARCHAR或TEXT。当它按第一个符号排序时,当然是9>3,这就是为什么会得到奇怪的结果。从行内容中删除欧元并将其移动到另一列。

您可以从价格中删除欧元并将其转换为整数。 加上欧元意味着你的价格不是一个数字。首先我们把它转换成数字,得到最大结果

 SELECT MAX(CONVERT(REPLACE(pricing,' €',''),UNSIGNED INTEGER)) FROM price

您可以从价格中删除欧元并将其转换为整数。 加上欧元意味着你的价格不是一个数字。首先我们把它转换成数字,得到最大结果

 SELECT MAX(CONVERT(REPLACE(pricing,' €',''),UNSIGNED INTEGER)) FROM price


是mysql还是oracle数据库?价格的数据类型是什么?发布create和insert table语句。price的数据类型为–?提供一些示例数据和预期结果。如果其包含欧元符号,则其不是整数,因此通过字符串排序95将高于350(9>5),MAX()也会使用大量内存,如果表增长,则查询可能需要相当长的时间才能加载。我发现,如果你在旁边使用任何语言,如果有的话,你将在数据中循环;最好通过某种形式的标志找到最大的数字,如果当前数字较大,则标志会发生变化。但我还是会这样做,如果我只是因为另一个原因循环我的结果。虽然如果你只选择价格,那么你可以用任何一种语言对它们进行循环,找出哪个更大。这也可以提高性能。是mysql还是oracle数据库?价格的数据类型是什么?发布create和insert table语句。price的数据类型为–?提供一些示例数据和预期结果。如果其包含欧元符号,则其不是整数,因此通过字符串排序95将高于350(9>5),MAX()也会使用大量内存,如果表增长,则查询可能需要相当长的时间才能加载。我发现,如果你在旁边使用任何语言,如果有的话,你将在数据中循环;最好通过某种形式的标志找到最大的数字,如果当前数字较大,则标志会发生变化。但我还是会这样做,如果我只是因为另一个原因循环我的结果。虽然如果你只选择价格,那么你可以用任何一种语言对它们进行循环,找出哪个更大。这也可能会有更好的性能。即使这些信息不在同一个表中,也可以获取成本最高的商品名称吗?即使这些信息不在同一个表中,也可以获取成本最高的商品名称吗?谢谢!获得商品名称的最佳方法是什么,而不仅仅是最高价格?这可能吗,因为我想要的行不在同一张表中?谢谢!获取商品名称的最佳方法是什么,而不仅仅是最高价格?是否可能,因为我想要的行不在同一个表中?是否可能获取成本最高的商品名称,即使这些信息不在同一个表中?提供有关数据库结构的更多信息检查原始帖子,我想已经有足够的信息了,或者?
从price LEFT中选择price.price,item.name在item.id=price.tk_item ORDER BY price.price DESC LIMIT 1
该部分在做什么
LEFT JOIN item ON item.id=price.tk_item ORDER BY price.price DESC LIMIT 1'
可以获取成本最高的商品名称,即使这些信息不在同一个表中?提供有关数据库结构的更多信息检查原始帖子,我认为有足够的信息,或者?
选择price.price,item.name FROM price LEFT JOIN item.id=price.tk_项目订单按price.price DESC LIMIT 1
该部分在做什么<代码>在item.id=price.tk\u项目订单按price.price DESC LIMIT 1'