sql-server – 如何在SQl Server 2008中选择distinct,但仅限于多
发布时间:2021-01-22 10:33:03 所属栏目:MsSql教程 来源:网络整理
导读:我有一个问题: SELECT Content.content_name,Language2.Name,Language2.language_id,Content.id,Content.content_description,FROM Language AS Language2 LEFT JOIN contents AS Content ON (Language2.language_id = Content.language_id) 如何仅选择不同
|
我有一个问题: SELECT Content.content_name,Language2.Name,Language2.language_id,Content.id,Content.content_description,FROM Language AS Language2 LEFT JOIN contents AS Content ON (Language2.language_id = Content.language_id) 如何仅选择不同的content_name? 解决方法你做这个:SELECT DISTINCT Content.content_name FROM Language AS Language2 LEFT JOIN contents AS Content ON (Language2.language_id = Content.language_id) 那么为什么这不能回答你的问题呢? 让我们考虑以下数据(仅前两列): content_name Name XXXXX 1234 XXXXX 5678 SELECT DISTINCT意味着你只想要一行,但你想要什么名字? 您需要做的是重写代码以使用GROUP BY并为其他列选择适当的聚合函数: SELECT
Content.content_name,MIN(Language2.Name) AS Name,MIN(Language2.language_id) AS language_id,MIN(Content.id) AS id,MIN(Content.content_description) AS content_description,FROM
Language AS Language2
LEFT JOIN contents AS Content
ON (Language2.language_id = Content.language_id)
GROUP BY
Content.content_name
现在,这可能不会产生你想要的东西,但有一件事是肯定的,你不能欺骗数据库引擎只是“选择其中一行返回,我不关心哪一行.” (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 如何获取SQL Server表中每行的实际数据大小?
- sql-server-2012 – 如何卸载SQL Server Management Studio
- sql – 返回多个结果集的查询
- 将行数据转换为SQL Server中的列
- sql-server – 总是有一个整数列作为主键的缺点是什么?
- iSeries DB2 – SQL GUI工具
- sql-server – Windows 2008R2上SQL 2008R2的推荐页面文件大
- sql-server – 相当于SQL Server中的Oracle外部表
- sql-server-2008 – 如何使用损坏的模型db启动MSSQL Server
- sql数据类型转换有哪些办法?
站长推荐
热点阅读


