MySQL:SELECT DISTINCT 多列,第一个结果在某些列上

标签 mysql sql

假设 MySQL 数据库的表中有列 a, b。我想做的是选择 a 的不同值和任意 b 值 - 比方说第一个,但我实际上并不关心哪个一个。

类似下面的查询将为我提供两列上的所有不同值,因此这对我不利(在我的情况下结果太多)。

SELECT DISTINCT a, b
FROM my_table;

有什么建议吗?
如果我想要每个 a 值有 2 个 b 值,这怎么可能?

最佳答案

使用GROUP BY 功能,例如:

SELECT a, b
FROM my_table
GROUP BY a;

查看我的SQL Fiddle .

<小时/>

更新

根本不需要DISTINCT
感谢dnoeth寻求建议。

关于MySQL:SELECT DISTINCT 多列,第一个结果在某些列上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33117553/

相关文章:

mysql - 学习 SQL 查询不能正常工作

mysql - SQL IMDB 网站查询查找出演至少 10 部电影的 Actor

MySQL在单个查询中访问两个表

mysql - GROUP BY 带日期的慢查询

SQL 将索引(顺序值)设置为列

python - python 可以连续读取数据库吗?

mysql触发器信息从一对多关系插入和更新触发器

具有四舍五入的主日期时间键的 MySQL 改进

sql - 从 firebird 数据库的列中删除 CHARACTER SET UNICODE_FSS

php - 如何在 Codeigniter Active 记录中编写 MYSQL 查询 !=?