MySQL 选择不同的问题

标签 mysql sql select distinct greatest-n-per-group

我想返回表中的所有列,但仅限于“唯一”或“不同”用户。

我想从表中获取所有不同的用户,但返回所有列。

我将按时间戳对表进行排序,以便获取每个不同用户的“第一个”条目。

有什么想法吗?

最佳答案

您应该发布表定义,但或多或​​少应该可以使用GROUP BY

SELECT col1, col2, col3, MIN(timestamp)
FROM   users
GROUP BY
       col1, col2, col3

如果您的任何其他列也包含变量数据(它们实际上应该在标准化表中),您必须选择要对它们使用的聚合函数。

SELECT col1, col2, col3, MAX(var1), AVG(var2), ..., MIN(timestamp)
FROM   users
GROUP BY
       col1, col2, col3

关于MySQL 选择不同的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279836/

相关文章:

存在于一个或多个表中的 MySql Count ID

php - 如何在 PHP 中使用 INNER JOIN 显示来自 2 个不同表的数据?

mysql - 查询以匹配一列中的不同值,而该列中的不同值在单独的列中具有相同的值

javascript - 为什么我的 javascript 代码没有激活该功能?

mysql - 将 MYSQL 行导出到多个 txt 文件中

c# - 实体模型 .net 从 MySQL 性能问题中查询 100 万条记录

mysql - MSSQL 使用行构造函数删除

sql - 基于财政年度的日期拆分

sql - Rails 中的高级 SQL

php - 带十进制值的 MySQL SELECT