2
SET @row := 0;
SELECT * FROM (
SELECT @row := @row+1 AS rank, account_id, keyword, bid_amount ,timestamp
FROM bids WHERE keyword='programmers'
ORDER BY bid_amount DESC, timestamp ASC
) AS derived_table;
私はこのどこかを見て、私はセットは@記号と一緒に何をするかと思いまして:=このSQL文は何をしていますか? (mysqlの)
おかげ
ですが、この設定例の設定行は0に等しく、次にランクとして0番目を選択します。基本的には最初の行から選択していますか? –
なぜ単純なselect id、column1、column2、...をテーブルから実行するのはなぜですか? –
@sarmenhbb出力の読みやすさを考慮しています。これにより300行のリストが返された場合は、リストの真ん中を見て、行数を自分で数えることなく「これは150番目の最高入札額」と言うことができます。 –