我的表是:
id home datetime player resource
---|-----|------------|--------|---------
1 | 10 | 04/03/2009 | john | 399
2 | 11 | 04/03/2009 | juliet | 244
5 | 12 | 04/03/2009 | borat | 555
3 | 10 | 03/03/2009 | john | 300
4 | 11 | 03/03/2009 | juliet | 200
6 | 12 | 03/03/2009 | borat | 500
7 | 13 | 24/12/2008 | borat | 600
8 | 13 | 01/01/2009 | borat | 700
我需要选择每个home
包含的最大值datetime
。
结果将是:
id home datetime player resource
---|-----|------------|--------|---------
1 | 10 | 04/03/2009 | john | 399
2 | 11 | 04/03/2009 | juliet | 244
5 | 12 | 04/03/2009 | borat | 555
8 | 13 | 01/01/2009 | borat | 700
我试过了:
-- 1 ..by the MySQL manual:
SELECT DISTINCT
home,
id,
datetime AS dt,
player,
resource
FROM topten t1
WHERE datetime = (SELECT
MAX(t2.datetime)
FROM topten t2
GROUP BY home)
GROUP BY datetime
ORDER BY datetime DESC
不起作用 尽管数据库保留187个,但结果集有130行home
。结果包括的一些重复项。
-- 2 ..join
SELECT
s1.id,
s1.home,
s1.datetime,
s1.player,
s1.resource
FROM topten s1
JOIN (SELECT
id,
MAX(datetime) AS dt
FROM topten
GROUP BY id) AS s2
ON s1.id = s2.id
ORDER BY datetime
没有。提供所有记录。
-- 3 ..something exotic:
具有各种结果。
你好亲密!您需要做的就是选择住所及其最大日期时间,然后再加入到topten
两个字段的表中:
SELECT tt.*
FROM topten tt
INNER JOIN
(SELECT home, MAX(datetime) AS MaxDateTime
FROM topten
GROUP BY home) groupedtt
ON tt.home = groupedtt.home
AND tt.datetime = groupedtt.MaxDateTime
问题内容: 这应该是一个简单的问题,但我无法使其起作用:( 如何按另一列分组选择具有最大列值的行? 例如, 我有以下表格定义: 现在的问题是,我想先按结果分组,然后再从每组中选择一行,具体取决于哪一组具有最高的。 我试过了 但是,与其以正确的方式回报我,不如以同一个小组中最早的回报我。 有任何想法吗? 问题答案: 我本人为此进行了很多次努力,解决方案是以不同的方式考虑您的查询。 我希望其中具有该D
问题内容: 该主题的解决方案使我不知所措。 我有一个看起来像的表格(除与我的问题无关的其他字段之外): 名称,卡号,会员类型 现在,我想要一个显示卡号和成员类型相同的行的视图。这两个字段都是整数。名称为VARCHAR。名称不是唯一的,并且相同的名称也应显示重复的卡号,会员类型。 即,如果下表是表格: 我想要: 只需按卡号排序即可使其对人类有用。 最有效的方法是什么? 问题答案: 由于您提到的名称可
我正在使用如下所示的示例表。数据集有多个组,每次对表进行写入时,数据集的RunNumber以及每个组的数据和总数都会递增。每个数据集/组组合通常都有多行,示例如下: 对于数据集和组的每个组合,我要做的是返回给定数据集/组组合中具有最大值(RunNumber)的行的所有数据。例如,上面的示例将返回: 在数据集/组匹配的地方,所有行都保留该给定组合的最大运行数。现在,我已经将其分为两个单独的查询,其中
具体的问题是从类表中选择rollno,它在dbms中存在,在数学中不存在。
exTab 如何使用SQL(与mySQL一起)只返回col1中具有多个相同值、col2中具有多个相同值、但COL3中具有唯一值的行? 例如,在上面的表(exTab)中,val1在col1中出现了4次,对于这4次,val4在col2中出现了3次,但是对于这3次,val7在col3中只出现了一次,所以我想返回这一行(第1行)。考虑到这些条件,第1行将是我希望从此表返回的唯一一行。 我试过和group
问题内容: 我想在数据库中选择不同的值。让我来看一个简单的例子。 表: 是的,假设我的SQL是。这些是我的结果: 但是,问题在于/ 重复的顺序不同。我不想选择这些,我希望这两列中都有不同的值,请帮忙! 问题答案: 非常邪恶和邪恶: