如何在sql中获取列而不是行

时间:2014-06-24 00:53:44

标签: mysql sql

我的表与下面的表类似。我的目标是获得每个人的总积分(WHERE username ='Bobby'OR username ='George')并将结果返回列而不是行。 (注意:我的表中有两个以上的用户名,每个用户名都包含特定的点,在这种情况下,我试图根据指定的两个人检索特定的总点数。)

id   |   username   |   points
1        Bobby            1
2        George           3
3        Bobby            2
4        Bobby            2
5        George           1

欲望结果:

column_1(Bobby)  |  column_2 (George)
       5                  4

2 个答案:

答案 0 :(得分:0)

我认为不是通过sql获取它,而是先获取行并绑定到某些datagridview,然后使用另一个datagridview,将行添加为列,并将第一个datagridview隐藏在表单中。我猜你正试图展示一张表格...如果我没有任何帮助,我很抱歉..

答案 1 :(得分:0)

使用数据透视表解决上述问题。

尝试:

select sum(case when name = "Bobby" then point end) as Bobby,
    sum(case when name = "George" then point end) as George from tablename;

http://sqlfiddle.com/#!2/dad5c/9