Mysql 特定数据库搜索

Mysql 特定数据库搜索,mysql,Mysql,我正在寻找一种显示来自不同组的单行的方法。 我的意思是,如果我有一个表,例如: id|name|groupID 1 |....| 1 2 |....| 1 3 |....| 1 4 |....| 2 5 |....| 2 6 |....| 3 7 |....| 4 8 |....| 4 9 |....| 4 它将只显示每个groupID中的一行,一行表示groupID=1,一行表示groupID=2,依此类推。 提前感谢您的帮助。试试这个: select * from t

我正在寻找一种显示来自不同组的单行的方法。 我的意思是,如果我有一个表,例如:

id|name|groupID
1 |....|  1
2 |....|  1
3 |....|  1
4 |....|  2
5 |....|  2
6 |....|  3
7 |....|  4
8 |....|  4
9 |....|  4
它将只显示每个groupID中的一行,一行表示groupID=1,一行表示groupID=2,依此类推。 提前感谢您的帮助。

试试这个:

select *
  from tableName
  where id in (
    select max(id) from tableName group by groupID
  )
:

GROUPBY语句与聚合函数一起使用,将结果集按一列或多列进行分组

Sql:

报税表应为:

id|name|groupID
1 |....|  1
4 |....|  2
6 |....|  3
7 |....|  4
groupID
1
2
3
4

:

在表中,一列可能包含许多重复的值;有时您只想列出不同的(不同的)值

Sql:

报税表应为:

id|name|groupID
1 |....|  1
4 |....|  2
6 |....|  3
7 |....|  4
groupID
1
2
3
4


希望能对您有所帮助。

使用group by
SELECT*FROM my table group by goupID
不要这样做,如果他这样做,不可能在同一个组中有两个项目他说“我正在寻找一种方法来显示来自不同组的单行”他没有说“我想在我的数据库中存储唯一的groupId”是的SQL工作,并将返回每个GroupID的所有最后一个ID,因为它缺少聚合函数,因此无法工作,正如您在上面的引用中所述。您可以添加
MIN(id)
,但仍然无法使用
*
。在MySQL中,查询是有效的,并且可以运行,但是既不在
GROUP BY
子句中,也不与聚合函数一起使用的列的值是不可预测的。它还可以为
id
返回2、5、6和9。但是,请求是从每个组中获取一行,它没有指定哪一行,因此此查询足以用于此目的。@axiac可能是,但我认为他只需要列出此表中的所有groupId,如果sql返回2,5,6,7,则“ok”,它将只显示每个groupId中的一行”