sql question选择* From *,其中one = 2 order by

时间:2010-06-08 17:27:59

标签: mysql

我需要一些查询帮助。

我想从表中选择一些值,但值取决于其他单元格的值。选择之后我需要对它们进行排序。

我可以使用ELECT column FROM table WHERE one=two ORDER BY ...?

感谢, 塞巴斯蒂安

3 个答案:

答案 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中使用列索引。