选择具有特定列值的第一行

时间:2012-09-07 16:56:12

标签: sql sql-server multithreading locking

我有一个表被多个线程访问。该表包含一个具有行状态的列,如果它已经被处理则为“Dialed”,如果不是,则包含“Not Dialed”。我想要

Select first row where status = "not Dialled" (Read Past ).

我正在使用readpast,以便多个线程可以拥有不同的行,并且不会发生死锁。

这里是否使用了Read Past,其次是如何始终获得第一行

2 个答案:

答案 0 :(得分:0)

你可以简单地使用" Top"像这样的条款。

Select Top 1
    *
    From Data
        Where status = "not Dialled"
        ;

干杯

答案 1 :(得分:0)

TOP子句用于指定要返回的记录数。 注意:并非所有数据库系统都支持TOP子句。

SQL Server语法: SELECT TOP number | percent column_name(s) FROM table_name

MySQL语法: SELECT column_name(s) FROM table_name 限制号码 实施例

Oracle语法: SELECT column_name(s) FROM table_name 在哪里ROWNUM< =数字

进一步参考: http://www.w3schools.com/sql/sql_top.asp