我有一个具有以下结构的表。
<!DOCTYPE HTML>
<html lang="en">
<head>
.....
</head>
<body>
<!-- MAYBE YOU CAN DO A BLADE TEMPLATE -->
<div id="navitagion"></div>
<div id="app"></div>
<!--=============== scripts ===============-->
<script type="text/javascript" src="{{asset('path/to/vue.js')}}"></script>
const app = new Vue({
el: '#app',
});
const navigation = new Vue({
el: '#navigation',
});
</body>
</html>
我想获取每个+--+------+---+-------------------+
|id|cardId|elo|timestamp |
+--+------+---+-------------------+
|1 |000ac9|150|2018-12-19 17:49:16|
|2 |000ac9|160|2018-12-19 17:59:16|
|3 |000ad9|140|2018-12-19 18:21:16|
|4 |000ac9|130|2018-12-19 17:59:16|
|5 |000ad9|260|2018-12-19 19:01:16|
+--+------+---+-------------------+
的最新elo
。
我尝试使用“区别关键字”,但这并不能总是为我提供最新的数据库条目。
我期望类似以下的内容。
cardId
答案 0 :(得分:0)
您可以使用MySQL 8.x中提供的ROW_NUMBER()
窗口函数:
select * from (
select
id,
cardId,
elo,
timestamp,
row_number() over(partition by cardId order by timestamp desc) as rn
from my_table
) x
where rn = 1