我在這裏有這個SQL查詢,我用查找用戶的排名:查詢用戶級別突然停止工作?
SELECT COUNT(*) AS rank
FROM users
WHERE xp>=(SELECT xp FROM users uid='?')
AND createdate<=(SELECT createdate FROM users WHERE uid='?')
預期目的是XP的排名用戶 - CREATEDATE;如果兩個用戶有100xp並且我們需要分配一個單獨的等級,那麼他們的創建日期將在他們的xp被確定爲相同之後進行比較。在這種情況下,具有最早創建日期的團隊被賦予較高的等級。
它曾經工作完美直到我更新到最新的MySQLi(5.6.34)之後無論出於何種原因,現在似乎創建的優先於xp。
我現在想知道問題是否與我的邏輯有關。我只是非常困惑,因爲它之前的工作很好(找到用戶的唯一排名),但現在它只是隨機分配排名,無論創建日期和xp的值如何。
不知怎的,我不相信'來自用戶的UID =「1」 '曾經是一個有效的語法。 –
我很困惑,它也曾如此工作過。所有查詢返回的都是一個數字。我沒有顯示用戶信息。 –
這是關於查詢,顯然它會是'?'隨後是一份準備好的聲明。 – Dylan