2010-10-12 55 views
0

我有一個帶有SIGNUPS表的不同事件的表。此表有一些簡單的列,如ID,IDUSER,IDEVENT和DATE。每個事件的特點是我可以參加的人數最多,所以桌上的EVENTS有一個名爲let's say PLACES的欄。Sql:模擬一個參數化的LIMIT

我想爲特定活動獲得的是該活動的首個「場所」註冊名單,即按時註冊的人員。其他人將被列在等待名單上。

的行爲應該是這樣的「選擇的第一個地方註冊等,以事件X」

我試圖使用極限的地方,但它似乎是一個有效的語法。

任何提示?

回答

1

MySQL中有一個known bug關於使用LIMIT子句的變量。

該文章還介紹了張貼吉安瑞恩解決方法:

DROP PROCEDURE IF EXISTS get_product_range $$ 
CREATE PROCEDURE get_product_range (
IN _START INTEGER, 
IN _LIMIT INTEGER 
) 
BEGIN 
PREPARE STMT FROM 
" SELECT * 
FROM products LIMIT ?,? "; 
SET @START = _START; 
SET @LIMIT = _LIMIT; 
EXECUTE STMT USING @START, @LIMIT; /* Known bug in mySQL5 - exists as feature req. */ 
END $$ 

心連心