【发布时间】:2015-01-15 22:23:09
【问题描述】:
我有一个包含 11 列的表,我想创建一个查询,删除全名列中具有重复名称的行,但保留结果列中具有最低值的行。目前我有这个。
SELECT
MIN(sql363686.Results2014.Result),
sql363686.Results2014.Temp,
sql363686.Results2014.Full Name,
sql363686.Results2014.Province,
sql363686.Results2014.BirthDate,
sql363686.Results2014.Position,
sql363686.Results2014.Location,
sql363686.Results2014.Date
FROM
sql363686.Results2014
WHERE
sql363686.Results2014.Event = '50m Freestyle'
AND sql363686.Results2014.Gender = 'M'
AND sql363686.Results2014.Agegroup = 'Junior'
GROUP BY
sql363686.Results2014.Full Name
ORDER BY
sql363686.Results2014.Result ASC ;
乍一看,它似乎工作正常,我得到了所有正确的值,但我似乎在 Position 列中得到了一个不同的(错误的)值,而不是我在数据库表中的值。所有其他值似乎都是正确的。关于我做错了什么有什么想法吗?
我目前正在使用连接到 mysql 数据库的 dbVisualizer。另外,我对 sql 的知识和经验是最低限度的
【问题讨论】:
-
您只是按您的非聚合列之一进行分组,MySQL 将允许您出于某些吸烟的原因这样做。将所有非聚合列包含在 group by 中,然后重试。
-
真的有必要每次都说明db吗?它总是相同的分贝?!!?!
标签: mysql dbvisualizer