过滤多数计数

时间:2019-05-09 04:02:11

标签: reporting-services sql-server-2008-r2

当前,我的查询输出正在使用user_name列产生多个用户。我要过滤,仅显示该组中列出的多数用户(前1名)。

SELECT
  PVXME.MT,
  PVXME.MT_VERSION,
  PVXME.START_DATE_LOCAL,
  PVXMEDS.CREATION_DATE_LOCAL,
  PVXMIHS.USER_NAME,
  PVXMEDE.PAT_ID,
  PVXMEDE.NUM_VALUE AS MEDE_NUM_VALUE,
  RVXMIIF2.II,
  RVXMIIF2.NUM_VALUE AS MIIF_NUM_VALUE
FROM
  PVXMEDE
   RIGHT OUTER JOIN PVXMEDG ON (PVXMEDG.ME=PVXMEDE.ME and PVXMEDG.SEQUENCE=PVXMEDE.SEQUENCE and PVXMEDG.SOURCE_TP=PVXMEDE.SOURCE_TP and PVXMEDG.SOURCE_ID=PVXMEDE.SOURCE_ID and PVXMEDG.SOURCE_VERSION=PVXMEDE.SOURCE_VERSION)
   RIGHT OUTER JOIN PVXMEDS ON (PVXMEDS.ME=PVXMEDG.ME and PVXMEDS.SEQUENCE=PVXMEDG.SEQUENCE)
   RIGHT OUTER JOIN PVXME ON (PVXME.ME=PVXMEDS.ME)
   RIGHT OUTER JOIN PVXMI ON (PVXMI.MI=PVXME.MI)
   LEFT OUTER JOIN PVXMIHS ON (PVXMIHS.MI=PVXME.MI)
   LEFT OUTER JOIN PVXMIID  PVXMIID2 ON (PVXME.ME=PVXMIID2.ME)
   LEFT OUTER JOIN RVXMIII  RVXMIIF2 ON (PVXMIID2.MI=RVXMIIF2.MI and PVXMIID2.ID=RVXMIIF2.ID and PVXMIID2.ID_SEQUENCE=RVXMIIF2.ID_SEQUENCE and PVXMIID2.ME=RVXMIIF2.ME)

WHERE 
  (
   PVXMIHS.USER_NAME <> 'username'
   AND
   PVXMIHS.WHAT = 'MethodPrepare'
   AND   
   PVXME.CX_STRING_4  =  @CX_STRING_4
   AND
   PVXME.MT  LIKE  'MK-0431%Tab CA%'
   AND
   PVXMEDE.PAT_ID  NOT LIKE  '%Spectrum'
   AND
   (
    RVXMIIF2.II  =  'LeverageLimit'
    OR
    RVXMIIF2.II  =  'XresidualLimit'
   )
  )

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我已经尝试从sql的角度来满足您的要求。我们如何限制来自数据库的数据,因为仅应显示那些记录,例如 joe user 2 数据。而不是在ssrs方面进行工作,即在加载完整数据后,这将是一个痛苦的过程。 我为sql创建了一个小提琴。您能否看一下它,以便您了解如何限制数据。

这是小提琴链接:http://sqlfiddle.com/#!9/8f78c5/2

以下代码: 架构

-- borrowed from https://stackoverflow.com/q/7745609/808921

CREATE TABLE IF NOT EXISTS `docs` (
  `id` int(6) unsigned NOT NULL,
  `rev` int(3) unsigned NOT NULL,
  `content` varchar(200) NOT NULL,
  PRIMARY KEY (`id`,`rev`)
) DEFAULT CHARSET=utf8;
INSERT INTO `docs` (`id`, `rev`, `content`) VALUES
  ('1', '1', 'The earth is flat'),
  ('2', '1', 'One hundred angels can dance on the head of a pin'),
  ('1', '2', 'The earth is flat and rests on a bull\'s horn'),
  ('1', '3', 'The earth is like a ball.'),
   ('2', '2', 'One hundred angels can dance on the head of a pin');

下面的SQl查询

select * from  `docs` where id=(select id from `docs` group by id order by count(id) desc LIMIT 1)