mysql行16-21

时间:2011-01-28 12:23:02

标签: mysql

如果我有桌子:ID, num,varchar

其中ID是一个整数,1,2或3。 然后num是一个数字,从1到100。 varchar只是一些文字。

因此总共有300行,在此表中没有特别排序。

我可以使用哪种查询来获取此表中16-21的ID = 2和num的行?

(总共产生6行)

3 个答案:

答案 0 :(得分:3)

怎么样

SELECT * from yourtable where ID = 2 AND num >= 16 AND num <= 21

或者,等效使用BETWEEN

SELECT * from yourtable where ID = 2 AND num BETWEEN 16 AND 21

创建索引以便稍后进行更快的查找(但会稍微减慢插入速度):

CREATE INDEX indexname on yourtable (ID,num);

答案 1 :(得分:2)

SELECT * FROM TABLE WHERE ID = 2 AND NUM > 15 AND NUM < 22;

其中TABLE是您的表的名称。通常,假设您选择了列ID和NUM,它们应该被索引以便更快地检索(即数据库不必检查每一行)。虽然你的桌子很小,但这里可能不会有太大的不同。

答案 2 :(得分:1)

这应该这样做:

SELECT * FROM table WHERE id = 2 AND num > 15 AND num < 22