![](/img/trans.png)
[英]How do update to table1.column value from table2.rows count with where condition in SQL server
[英]How to do rows to column in SQL Server with count
如何在带有count的SQL中简单地切换带有列的行? 有什么办法吗? 实际上,我要与每个唯一的移动电话号码和产品名称并排排列,如果表中有两个移动电话号码,则计数= 2,并且这两个product1,product2并排显示在输出中。
即把这个结果:
Srno Name| Mobile| Count | ProductName
1 xyz 1234 1 LNM
2 PQR 5678 1 VCD
3 xyz 1234 1 KLM
4 PQR 5678 1 NMG
到这个:
Srno Name| Mobile| Count | ProductName1 | ProductName2
1 xyz 1234 2 LNM KLM
2 PQR 5678 2 VCD NMG
如果您的product
数量有限,则可以使用row_number()
并进行条件聚合:
select min(srno) as srno, name, Mobile, count(*) as cnt,
max(case when seq = 1 then ProductName end) as ProductName1,
max(case when seq = 2 then ProductName end) as ProductName2
from (select t.*,
row_number() over (partition by name, Mobile order by srno) as seq
from table t
) t
group by name, Mobile;
尝试这个:
SET @row_number = 0;
SELECT
(@row_number:=@row_number + 1) AS Srno,
T1.name,
T1.Mobile,
SUM(T1.xCount + T2.xCount) as cnt,
max(T1.ProductName) as Product1,
max(T2.ProductName) as Product2
FROM Table1 as T1
LEFT JOIN Table1 AS T2 ON T1.name = T2.name
AND T2.srno > T1.srno
GROUP BY T1.name, T1.Mobile
ORDER BY Srno
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.