缩小sql查询

时间:2013-12-28 14:13:09

标签: sql limit

我正在尝试更具体地查询我的查询,因为您可以从cupID列中看到(链接到下面的图像),有A组到H组3次。我要做的就是有3个查询,第一个查询只输出一次A-H,第二个查询从第二个查询,第三个从第三个查询输出是否有意义?

这是查询

SELECT cupID, date, matchno,
                    clan1,
                    clan2,
                    si
FROM ws_bi2_cup_matches
WHERE ladID='0'
  AND matchno = '6'
  AND TYPE = 'gs'
GROUP BY clan1
ORDER BY cupID ASC

显示:(看看图片) http://s13.postimg.org/6rufgywcn/image.png

所以查询1/2/3应该单独输出,如(a,b,c,d等),而不是1个查询显示倍数(aaa,bbb,ccc,ddd等)

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

基于您在3个查询中执行联合的假设,请添加一个虚拟列,即SortOrder并按顺序排序。

在下面的示例查询(SQL Server)中,我假设所有3个查询都相同,请使用虚拟排序器进行相应的更改:

   -- 1st query 
   SELECT cupID, date, matchno,
                       clan1,
                       clan2,
                       si,
                       1 as SortOrder -- dummy sort column 
   FROM ws_bi2_cup_matches
   WHERE ladID='0'
     AND matchno = '6'
     AND TYPE = 'gs'
   GROUP BY clan1

  union all 

   -- 2nd query 
   SELECT cupID, date, matchno,
                       clan1,
                       clan2,
                       si,
                       2 as SortOrder -- dummy sort column 
   FROM ws_bi2_cup_matches
   WHERE ladID='0'
     AND matchno = '6'
     AND TYPE = 'gs'
   GROUP BY clan1

  union all 

   -- 3rd query 
   SELECT cupID, date, matchno,
                       clan1,
                       clan2,
                       si,
                       3 as SortOrder -- dummy sort column 
   FROM ws_bi2_cup_matches
   WHERE ladID='0'
     AND matchno = '6'
     AND TYPE = 'gs'
   GROUP BY clan1

 order by 7 -- dummy sort order column