如何将两条MySQL查询合并为单条以同时获取最后ID与总和?
合并两条MySQL查询语句获取所需数据
当然可以把这两条查询合并成一条,一次查询就能拿到最后一条ID和calls字段的总和。
直接在SELECT语句里同时使用MAX()函数获取最大的id(如果id是自增主键,最大id就对应最后一条记录的id,比ORDER BY id DESC LIMIT 1的效率更高),再用SUM()计算calls的总和,具体SQL如下:
SELECT MAX(`id`) AS last_id, SUM(`calls`) AS total FROM `callers`
对应的PHP代码可以改成这样:
$query = mysqli_query($_connect, 'SELECT MAX(`id`) AS last_id, SUM(`calls`) AS total FROM `callers`') or die(); $result = mysqli_fetch_object($query); // 获取最后一条ID $lastId = $result->last_id; // 获取calls总和 $totalCalls = $result->total;
这样只需要一次数据库请求就能拿到两个需要的数据,减少了数据库交互次数,性能更优。
内容的提问来源于stack exchange,提问作者user14008269
相关产品推荐
相关产品推荐

