我想获取3 symbol_id
buy_rate
值更高
finaltrades
表格结构:
id user_id exchange_id market_id symbol_id buy_datetime sell_datetime buy_rate sell_rate quantities
---- --------- ------------- ----------- ----------- --------------------- --------------------- ---------- ----------- ------------
1 1 1 1 96 2018-05-25 18:13:26 0000-00-00 00:00:00 2205 0 100
2 1 1 1 96 0000-00-00 00:00:00 2018-05-25 18:13:59 500 6680 100
3 4 1 1 23 2018-05-25 18:16:27 0000-00-00 00:00:00 120 0 10
4 1 1 1 96 2018-05-25 18:13:59 0000-00-00 00:00:00 50351 0 30
5 1 1 1 15 0000-00-00 00:00:00 2018-05-25 18:34:46 750 100 150
6 4 1 1 573 2018-05-26 09:29:17 2018-05-27 03:10:09 107 10 10
7 1 1 1 15 2018-05-11 09:30:54 2018-05-25 18:34:56 40 100 40
这是我到目前为止所提出的:
public function HigherValue(){
$higher_value = DB::table('finaltrade')
->select 'buy_rate'> (select 'buy_rate')
->get();
return response()->json($higher_value);
}
答案 0 :(得分:2)
如果您希望三个不同的public function HigherValue() {
$higher_value = DB::table('finaltrade')
->select('symbol_id')
->groupBy('symbol_id')
->orderByRaw('MAX(buy_rate) DESC')
->limit(3)
->get();
return response()->json($higher_value);
}
具有最高的购买率,那么您可以尝试以下方式:
SELECT symbol_id
FROM finaltrade
GROUP BY symbol_id
ORDER BY MAX(buy_rate) DESC
LIMIT 3;
这将与以下原始MySQL查询相对应:
if (preg_match)
答案 1 :(得分:1)
public function HigherValue()
{
$higher_value = DB::table('finaltrade')
->select('symbol_id')
->orderByDesc('buy_rate')
->limit(3)
->get();
return response()->json($higher_value);
}
试试这个
答案 2 :(得分:1)
试试这个
public function HigherValue()
{
$higher_value = DB::table('finaltrade')
->select('symbol_id')
->orderBy('buy_rate', 'DESC')
->limit(3)
->get();
return response()->json($higher_value);
}
答案 3 :(得分:0)
您可以使用DISTINCT
获取按buy_rate
SELECT DISTINCT symbol_id
FROM finaltrade
ORDER BY buy_rate DESC
LIMIT 3;
DB::table('finaltrade')
->orderBy('buy_rate', 'desc')
->distinct()
->limit(3)
->get();