![](/img/trans.png)
[英]SQL to select distinct values from one column where another column has varying values
[英]How to select two values from table where one of the values has to be distinct in SQL Server
我正在使用此查询,并且需要帮助以针对我的情况重写它。
SELECT DISTINCT Sender
FROM test_table
WHERE ("Some condition").
从上面的查询中,我正在获得不同发件人姓名的列表。
但我希望在下表中显示更多的价值
SELECT Sender_type, DISTINCT Sender
FROM test_table
WHERE ("Some condition").
该查询显示一些错误。 因此,我需要显示一个结果,其中发件人必须是不同的值,以及相应发件人的发件人类型。
SELECT DISTINCT Sender, Sender_type, FROM test_table WHERE ("Some condition") groupby sender
尝试这个..
您的语法错误,确实会引发错误。 您应该按如下所示将DISTINCT
放在SELECT
命令之后,它将适用于整个select:
SELECT DISTINCT Sender_type, Sender FROM test_table WHERE ("Some condition").
要了解关键字“ DISTINCT”是如何工作的,可以看一下: http : //databases.about.com/od/sql/a/Selecting-Distinct-Records-From-A-Table.htm
特别是部分:
您也可以将DISTINCT关键字用于列的组合。 在这种情况下,了解关键字的行为很重要。 现在,约束将应用于列的组合,而不是单个列。 SQL结果将是表中出现的那些列的所有值的唯一组合。 例如,考虑以下SQL查询:
enter code here
SELECT DISTINCT make,从汽车建模
因此,您的查询变为:
SELECT DISTINCT Sender_type, Sender FROM test_table WHERE ("Some condition")
您只需要GROUP BY而不是DISTINCT:
SELECT MIN(Sender_type), Sender -- or MAX
FROM test_table
WHERE ("Some condition")
GROUP BY Sender
如果有多个Sender_Type,则必须决定要使用的是MIN还是MAX
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.