Mysql 带有伴随日期的唯一名称

Mysql 带有伴随日期的唯一名称,mysql,sql,database,tsql,Mysql,Sql,Database,Tsql,大家好,下表 ╔═════╦════════════╗ ║ Org ║ Date ║ ╠═════╬════════════╣ ║ A ║ 1/1/2015 ║ ║ A ║ 12/3/2015 ║ ║ B ║ 8/10/2015 ║ ║ B ║ 30/5/2015 ║ ║ C ║ 4/4/2014 ║ ║ D ║ 19/11/2014 ║ ╚═════╩════════════╝ 如何编写查询,以便只获得一个唯一的组织名称,该名称对应于存在多个

大家好,下表

╔═════╦════════════╗
║ Org ║    Date    ║
╠═════╬════════════╣
║  A  ║ 1/1/2015   ║
║  A  ║ 12/3/2015  ║
║  B  ║ 8/10/2015  ║
║  B  ║ 30/5/2015  ║
║  C  ║ 4/4/2014   ║
║  D  ║ 19/11/2014 ║
╚═════╩════════════╝
如何编写查询,以便只获得一个唯一的组织名称,该名称对应于存在多个日期的最早日期,即

╔═════╦════════════╗
║ Org ║    Date    ║
╠═════╬════════════╣
║  A  ║ 1/1/2015   ║
║  B  ║ 30/5/2015  ║
║  C  ║ 4/4/2014   ║
║  D  ║ 19/11/2014 ║
╚═════╩════════════╝

提前感谢

使用mysqlSTR\u更新分组方式

Select * from (SELECT * FROM `tbl` order by STR_TO_DATE(Date,'%d/%m/%Y') ASC) as new_tbl group by Org

您可以使用
GROUP BY
MIN
功能来获取每个
Org
组的最早日期:

SELECT Org, MIN(Date) AS Date
FROM table
GROUP BY Org

只需使用
MIN
获取最早的日期,并使用
groupby
仅获取一个唯一的组织名称

    SELECT Org, MIN(Date) AS 'Date' FROM TableName GROUP BY Org

您已经得到了答案,但是由于这个概念对您来说似乎是新的,这里有一个解释:您想在这里做的事情被称为聚合。压缩数据,以便每个组织只显示一个结果行。在SQL中,这种“每组织”转换为“按组织分组”。然后为每一列决定要显示的聚合(
MIN
MAX
AVG
,…)。在您的例子中,您希望看到
MIN(Date)
.Tsql和MySQL,这是一个非常奇怪的组合。。。请删除无效的标签。您应该仔细阅读下面给出的答案,并向我们展示一些绿色。不要对别名使用单引号。单引号用于字符串文本。双引号表示别名。@TimBiegeleisen,哦,对不起,我没有注意到你已经有了答案,你想让我删除我的答案吗?不用担心……这个问题很容易,任何人都可以自己得到:-)不要这样做。首先,是什么让你认为
Date
是一个字符串?我觉得这不大可能。然后,您可以按组织分组,但也可以访问
日期
(通过选择*)。由于没有对其使用任何聚合函数(最小、最大等),因此每个组织都会得到一个匹配的日期。在MySQL版本中,DBMS可能会从排序的子查询中选择第一个值,但这并不能保证。不要依赖这个;这只是一个可能会改变的实施细节。好吧,有一个基本假设,与其大肆抨击反社会言论,不如让我们知道这个假设是什么。你为什么不选择对其他类似于这个答案的答案也发表评论?这些“日期”与OP“爆破”所描述的不一样?真的吗?说得好,如果
Date
列具有非日期时间类型,我也不会感到惊讶。因为您更清楚;-)