MYSQL:最新记录的总和

Meng Hai

我需要有关查询语句的帮助以添加选定的记录。

“ tblA”中的记录示例

Name, Year, Level, Points, Item
John, 2012, 1,     2,      bag
John, 2012, 1,     1,      book
John, 2013, 1,     1,      pen
John, 2013, 1,     1,      pencil
John, 2014, 2,     3,      hat
John, 2014, 2,     1,      ruler
Kent, 2014, 2,     2,      bag
Mic,  2014, 2,     2,      bag
Dan,  2014, 2,     2,      bag
Tim,  2014, 2,     2,      bag

是否可以执行1条语句查询来汇总John的得分,但前提是如果Level超过2年相同,则仅考虑最近一年的得分。

例如:在上述情况下,仅以下记录应添加点。(2012年的记录应被忽略,因为有一个新的年份(2013年)的等级为1。因此,约翰应该得到6分。

John, 2013, 1, 1, pen
John, 2013, 1, 1, pencil
John, 2014, 2, 3, hat
John, 2014, 2, 1, ruler

提前致谢。

液化石油气

要获取所有名称及其观点(按照您的逻辑),您可以尝试:

SELECT tblA.Name, SUM(points) AS totalPoints FROM tblA
JOIN (
SELECT MAX(year) year, Name, Level
FROM tblA
GROUP BY Name, Level) tblA2
ON tblA.Name = tblA2.Name
AND tblA.year = tblA2.year
AND tblA.Level = tblA2.Level
GROUP BY Name

如果您只对“约翰”积分感兴趣,那么:

SELECT tblA.Name, SUM(points) AS totalPoints FROM tblA
JOIN (
SELECT MAX(year) year, Name, Level
FROM tblA
WHERE Name = 'John'
GROUP BY Name, Level) tblA2
ON tblA.Name = tblA2.Name
AND tblA.year = tblA2.year
AND tblA.Level = tblA2.Level
GROUP BY Name

SQL Fiddle演示:http ://sqlfiddle.com/#!2/75f478/9

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL:最新记录的总和

来自分类Dev

mysql:分组并获取最新记录

来自分类Dev

PostgreSQL获取所有不同ID的最新记录的总和

来自分类Dev

MySQL选择总和大于阈值的记录

来自分类Dev

来自联接的MySQL表的最新不同记录

来自分类Dev

MySQL获取每个条件的最新记录

来自分类Dev

仅获取MySQL中JOIN的最新记录

来自分类Dev

mysql 查找小于今天的最新记录

来自分类Dev

MYSQL选择跨月组的最新记录

来自分类Dev

Mysql-在记录之前N天后创建的最新记录

来自分类Dev

Mysql 选择总和低于给定数量的记录

来自分类Dev

如果没有找到记录,则返回总和 0 mysql

来自分类Dev

在滚动总和后,从每个材料ID获取每个月的最新记录

来自分类Dev

如何获取mysql中每一天的最新记录?

来自分类Dev

仅获取mysql中每个记录的最新数据

来自分类Dev

MySQL查询-按升序显示最新3条记录

来自分类Dev

如何删除最旧的mysql表记录,但保留1000个最新的

来自分类Dev

mySQL组记录以及子表中的最新条目

来自分类Dev

MYSQL-选择每个库存组的最新3条记录

来自分类Dev

MySQL从带有UNION的子查询中选择最新记录

来自分类Dev

从mysql数据库多个表中获取最新记录

来自分类Dev

MYSQL:仅选择最新记录(在左侧联接表上)

来自分类Dev

MySQL-不同的结果显示每个组的最新记录

来自分类Dev

MYSQL:仅根据日期返回每个组的最新记录

来自分类Dev

检索3个主键mySql上记录的最新值

来自分类Dev

MySQL仅选择2天以上的最新记录(时间戳)

来自分类Dev

MySql:获取最新记录,然后按字母顺序分组

来自分类Dev

PHP MySQL来自多个表的最新记录

来自分类Dev

对于每条记录仅获取mysql中的最新数据

Related 相关文章

热门标签

归档