我正在尝试将数据提取到 PHP 以创建一个简单的统计信息页面,对于我的大多数数据库,统计信息都分为单独的列,因此我能够这样做: <tbody> <?php mysqli_select_db($connect, $database);; $sql = "SELECT name,kills FROM global_stats ORDER BY kills DESC LIMIT 5"; $result = mysqli_query($connect, $sql); $count = 1; while ($row = mysqli_fetch_array($result)) { echo "<tr> <td>" . $count . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['kills'] . "</td> </tr>"; $count++; } ?> </tbody>尽管在我的一个数据库中,数据以一种奇怪的方式保存,其中每个统计数据都在一个表中,由以下部分分隔: - 有没有一种方法可以获取第二个区域中的所有数据,例如,用户名,然后只对第二个区域进行排序,只输出 5 个结果。
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
这个查询:
SELECT
name,
CONVERT( SUBSTRING_INDEX( SUBSTRING_INDEX(stats, ':', 2), ':', -1), INTEGER) as kills
FROM
table
ORDER BY kills DESC
LIMIT 5
将转换第二个字段并返回前 5 个 - 我不知道名称的来源,因为它不在您的屏幕截图中,因此可能需要做更多的工作
它通过两次使用子字符串索引来工作。第一次使用(内部)意味着“从左边开始向前计数到第二个定界符并将其用作子字符串的终点”然后第二次使用(外部)意味着“向后计数到第一个定界符并使用它作为子字符串的起点
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消