我有以下问题。我已根据ID值声明了一个变量,但有两个不同的值包含我的数据。这就是我的想法:
entry_template_id entry_template_name book_display_name entry_count value_count null_value_count null_percentage followed_value_count followed_null_value_count followed_null_percentage
9 Loading Reporting 10 530 78 0.147169811320 520 78 0.150000000000
19 Loading Reporting 1 53 8 0.150943396226 53 8 0.150943396226
我想只检索一行ID,如(9,19),相同的template_name,相同的display_name,SUM(entry_count),SUM(value_count),SUM(null_value_count),AVG(null_percentage),SUM(follow_value_count), SUM(follow_nulls_value_count),AVG(follow_null_percentage)。
你能帮我解释一下语法吗?
谢谢!
答案 0 :(得分:2)
如果您想按名称分组,这应该有效:
SELECT
STUFF((SELECT ', ' + CAST(entry_template_id AS varchar(50))
FROM Entries t2 where t1.entry_template_name = t2.entry_template_name
FOR XML PATH('')), 1, 2, '') Ids,
MAX(entry_template_name) entry_template_name,
MAX(book_display_name) book_display_name,
SUM(entry_count) entry_count, SUM(value_count) value_count,
SUM(null_value_count) null_value_count,
AVG(null_percentage) null_percentage,
SUM(followed_value_count) followed_value_count,
SUM(followed_null_value_count) followed_null_value_count,
AVG(followed_null_percentage) followed_null_percentage
FROM Entries t1
GROUP BY entry_template_name
有关详细说明,请参阅this question。