我需要一些查询帮助。
我想从表中选择一些值,但值取决于其他单元格的值。选择之后我需要对它们进行排序。
我可以使用ELECT column FROM table WHERE one=two ORDER BY
...?
感谢, 塞巴斯蒂安
答案 0 :(得分:3)
是的,只要您正确拼写SELECT
,就可以。
以下示例可以复制并粘贴到MySQL查询浏览器中,以查看此类型的查询:
CREATE TABLE table1 (
id INT NOT NULL,
name1 VARCHAR(100) NOT NULL,
name2 VARCHAR(100) NOT NULL,
sortorder INT NOT NULL
);
INSERT INTO table1 (id, name1, name2, sortorder) VALUES
(1, 'Foo', 'Foo', 4),
(2, 'Boo', 'Unknown', 2),
(3, 'Bar', 'Bar', 3),
(4, 'Baz', 'Baz', 1);
SELECT id
FROM table1
WHERE name1 = name2
ORDER BY sortorder;
结果:
4
3
1
答案 1 :(得分:0)
也许一些有用的例子会有所帮助:
这将从我的一个数据库中返回超过8100条记录:
SELECT * FROM fax_logs WHERE fee = service_charge
这将从我的数据中返回超过2700条记录:
SELECT * FROM fax_logs WHERE fee = service_charge + 5
这会返回超过6900条记录:
SELECT * FROM fax_logs WHERE fee = service_charge + copies
答案 2 :(得分:0)
我可能误解了您的问题,但我认为您正在尝试比较第一列和第二列的值。在Mysql中,您可以仅在ORDER BY
子句中按编号而不是按名称引用列:
SELECT * FROM table ORDER BY 1
(按第一栏排序)。您无法在WHERE
中使用列索引。