从名称相同但值不同的sql行中获取值

从名称相同但值不同的sql行中获取值,sql,Sql,我需要有关sql查询的帮助。首先,我有一个具有以下结构的数据库(示例): IDNAMEVALUE 123ABC\u AText文本 123ABC\u更多文本 123ABC\u甚至更多文本 123ABC\u b其他一些文本 现在,我想得到名为“ABC_A”的行的所有不同值。我试图通过group by和Have获得这些,但没有成功。这就是你想要的吗 SELECT DISTINCT Value FROM tableName WHERE ID = 123 AND Name = 'ABC_A' 但是如果

我需要有关sql查询的帮助。首先,我有一个具有以下结构的数据库(示例):

IDNAMEVALUE
123ABC\u AText文本
123ABC\u更多文本
123ABC\u甚至更多文本
123ABC\u b其他一些文本

现在,我想得到名为“ABC_A”的行的所有不同值。我试图通过group by和Have获得这些,但没有成功。

这就是你想要的吗

SELECT DISTINCT Value
FROM tableName
WHERE ID = 123 AND Name = 'ABC_A'
但是如果ID和Name的值是唯一的,那么您可以省略
distinct
(以避免过度杀戮服务器)

我想得到名为“ABC_A”的行的所有不同值

例如:

SELECT value, count(value) FROM tbl WHERE name = 'ABC_A' GROUP BY value;
如果不需要一个值出现的次数,请将其删除,或使用
DISTINCT

SELECT DISTINCT value FROM tbl WHERE name = 'ABC_A';
如果还希望按ID显示行的不同值

SELECT value, count(value)
    FROM tbl
    WHERE id = 123 AND name = 'ABC_A'
    GROUP BY value;
或者,如果您想要“全部”不同的值(也有重复值),请按删除
分组(并且您不再可以使用
计数()
,它将始终为1):


除John之外,如果使用关键字Distinct,则只能得到不同的值,因此

SELECT DISTINCT Value
FROM tableName
WHERE ID = 123 AND
        Name = 'ABC_A'

GROUP BY
语句与聚合函数一起使用,将结果集按一列或多列进行分组。
在上述情况下,为什么不使用简单where子句呢

select * from <tableName> where name ='ABC_A'
从name='ABC\u A'的位置选择*

所需查询的结果(字面上)是什么<代码>文本文本
更多文本
其他文本
?应该是“文本”、“更多文本”和“更多文本”,那么我想应该很简单,请参见下面的答案。如果他想要“所有”值,那就可以了;但如果他只想要每个值一次,而不需要重复,那么就需要组或不同的值。
SELECT DISTINCT Value
FROM tableName
WHERE ID = 123 AND
        Name = 'ABC_A'
select * from <tableName> where name ='ABC_A'