如何在SQL中获得一行三列(使用每个信使的成本总和)?

How to get one line and Three colums in SQL (using the sum of costs for each menssenger)?

table screenshot

以下查询让我得到 3 行,但这不是我想要得到的,我想要得到 1 行和 3 列,你能帮我吗?

Select NoMess,
  case 
    when (NoMess = "1") Then (SELECT SUM (Port) from commande where NoMess = "1") 
    when (NoMess = "2") Then (SELECT SUM (Port) from commande where NoMess = "2") 
    when (NoMess = "3") Then (SELECT SUM (Port) from commande where NoMess = "3") 
  End as Port
From Commande 
Group by NoMess

您可以使用条件聚合来完成:

SELECT
  SUM(CASE WHEN NoMess = '1' THEN Port ELSE 0 END) AS column1,
  SUM(CASE WHEN NoMess = '2' THEN Port ELSE 0 END) AS column2,
  SUM(CASE WHEN NoMess = '3' THEN Port ELSE 0 END) AS column3
FROM Commande