2013-07-27 112 views
0

我在我的網站上得到了一個表,用戶排名欄,排名是一個數字,我想選擇最高排名數字的3個用戶,所以我期待和搜索和最好的,只要我我認爲查詢我發現的是:Link(第二個查詢在正確的答案),但我不明白的查詢,如果任何人都可以解釋一步一步的(例如我不明白這一行FROM table li從表是好的但是誰是李,我從來沒有見過這種語法),或者建議更好的查詢我會非常感謝,謝謝大家,祝你有美好的一天。MySQL,最大值3

+0

http://dev.mysql.com/doc/refman/5.5/en/select.html#idp67591536 – CBroe

回答

2

如果你想在這三個用戶具有最高排名的別名,這樣的事情可能工作:

select u.* 
from users u 
order by rank desc 
limit 3; 
5

li是爲the table

SELECT x.* 
    FROM my_table AS x <-- x is an alias for `my_table` 
WHERE ... 

AS關鍵字是可選的,並且經常省略

+0

Hoooooooo,謝謝,我不知道。 –

+1

@Strawberry。 。 。爲了讓事情更加複雜,如果我沒有記錯,「as」通常是可選的。但是,它在Access中是必需的,它在Oracle中是被禁止的。 (我省略了表別名,所以當我看到'as'時,我知道它是列別名。) –

1

基本上它是從同一個表中做多個子查詢用作中間結果和諸如「li」之類的名稱是同一個表的別名,以確保列引用屬於正確的子查詢。在這個例子中,你會使用真實的表格名稱來顯示「表格」。

+0

謝謝你的解釋交鑰匙。 –