我有一个看起来像这样的mysql表:
1 value1 value2 3534
2 value1 value1 8456
3 value1 value2 3566
4 value1 value3 7345
5 value2 value3 6734
我需要一个查询来选择具有不同的第2列和第3列的所有行,例如,我希望此示例的输出如下所示:
1 value1 value2 3534
2 value1 value1 8456
4 value1 value3 7345
5 value2 value3 6734
我已经找到了一些有关如何执行此操作的示例,但它们在每一列上的选择都是不同的。
假设第一列是唯一的,则可以执行以下操作:
SELECT id, col2, col3, col4
FROM yourtable
WHERE id IN
(
SELECT MIN(id)
FROM yourtable
GROUP BY col2, col3
)
看到它在线运行:sqlfiddle
问题内容: 我正在尝试向先前存在的应用程序中添加功能,并且遇到了如下MySQL视图: 好,所以有一些聚合函数。您可以选择personID,因为您正在对其进行分组。但是它还会选择不在聚合函数中并且不属于GROUP BY子句的列。这怎么可能???它是否只是选择一个随机值,因为每个组中的值肯定不是唯一的? 我来自(MSSQL Server),那是一个错误。有人可以向我解释此行为以及为什么它在MySQL中
问题内容: 我在表Hyperlink中有两列,即源和目标,用于存储超链接的源和目标。 有两个涉及b和c的超链接。两个超链接之间的区别在于超链接的方向。但是,我的目标是无论任何方向都检索唯一的超链接。因此,对于从b到c和从c到b的超链接,我只想选择其中之一。任何人都会做。 因此,我的结果应如下所示: 到目前为止,我可以使用Java进行一些处理,然后再使用JDBC执行SQL语句。但是,当表很大时,这将
问题内容: 我正在尝试选择mysql表中的重复行,它对我来说很好,但问题是它不是让我选择该查询中的所有字段,而是让我选择用作不同的字段名,让我写查询更好的了解 第一个工作正常 现在,当我尝试选择所有字段时,我最终会出现错误 我正在尝试选择最新的重复项,比如说ticket_id 127是行ID 7、8、9的3倍,因此我想选择一次,最新条目在这种情况下为9,这适用于所有其余项ticket_id的 任何
问题内容: 是否可以遍历这样的表: 变成这个: 目的是选择所有s并将它们用作列。作为行,我喜欢使用所有s。 所有条件: 所有类型 但是如何将它们组合成一个视图或某物。像这样? 如果您喜欢玩数据。这是生成表的脚本: 问题答案: 不幸的是,MySQL没有您基本上想做的功能。因此,您将需要在语句中使用聚合函数: 参见带有演示的SQL Fiddle 现在,如果您要动态执行此操作,这意味着您不知道要转置的列
问题内容: 是否可以对位于同一服务器上的不同数据库进行选择(或插入)语句?如果是,怎么办? 问题答案: 您将使用以下语法指定数据库 例:
问题内容: 据说如果使用group by子句,则select列列表中必须存在group by列名,但是上面的查询不需要选择sourceobjectid。 问题答案: 结果 不是 遇到的第一行。MySQL非常清楚所谓的“隐藏列”的使用。引用文档: MySQL扩展了GROUP BY的使用,以便选择列表可以引用未在GROUP BY子句中命名的非聚合列。这意味着前面的查询在MySQL中是合法的。您可以使用