mysql - 如何根据列值并按名称分组从表中获取数据

标签 mysql

下面是表格和数据。

id name  visible image
1  test   1       log.jpg
2  test   2       log2.jpg
3  page1  2       page.jpg

如何根据列值(可见)从表中获取数据并按其名称分组,即 从表中我需要名称(分组依据)和可见= 1,如果名称没有可见= 1,则需要获取可见= 2的数据

我需要如下所示的行,需要在单个查询中获取数据。

id name  visible image
1  test   1       log.jpg
3  page1  2       page.jpg

最佳答案

select t.* 
from your_table t
inner join 
(
  select name, min(visible) as minv
  from your_table
  group by name
) x on x.name = t.name and x.minv = t.visible

关于mysql - 如何根据列值并按名称分组从表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18912767/

相关文章:

mysql - 从两个表计算

php - 根据给定的输入创建数据库和表

c++ - 数据库中的自动 id 与通过代码自动 id

php - ORDER BY 在 PHP/MySQL 中未按预期工作

php - 如何使基于数据库值的复选框状态选中或未选中?

mysql - 嵌套 JOIN 在 MySQL 中查找具有多个 WHERE 条件的记录

php - mysql 2列为1(未合并!)

mysql - 使用 mysql innodb 作为队列?

html - 将Mysql数据导出到Excel下载时如何连接/合并两个表?

mysql - mysql数据库的源代码在哪里下载