0

私はmysqlにこのテーブルを持っています - 定義されたキーはありません。

        Real Name      : DB Field   :    Type    |
-----------------------|------------|------------|
       Patient ID      :   pid      : varchar50  |
White Blood Cell Count :   wbc      : int        |
        Lab Date       :   ldate    : datetime   |
-------------------------------------------------|

各患者は 10 回の臨床検査を受けます。これらの検査は 10 日間に行われました。したがって、1 人の患者について、表には 10 の「wbc」値と検査日を含む 10 行 (同じ pid) があります。上記の表では、「pid」でグループ化された最小「wbc」カウントに対応する日付を取得したいと考えています

pid による tbl_temp グループから pid、min(wbc)、ldate を選択します

上記のクエリは最小 wbc を取得できますが、同じ行の対応する日付は取得できません。関連する pid の日付列の最初の値のみを取得します。

このための複合クエリを作成するのを手伝ってください。

4

2 に答える 2

0

もう一度言い直してみましょう... 各患者について、最小の白血球数が必要です...そして、その最小の白血球数から、それが発生した日付を知りたいとします.

患者ごとにグループ化された最小カウント (分) から最初に開始します。そこから、患者ごとに元のテーブルに再結合し、その最小値を持つ日付を取得します。

select
      yt2.pid,
      yt2.wbc,
      yt2.ldate
   from
      ( select 
              yt1.pid,
              min( yt1.wbc ) LowestWBCValue
           from
              YourTable yt1
           group by
              yt1.pid ) PreQuery
         Join YourTable yt2
            on PreQuery.pid = yt2.pid
           AND PreQuery.LowestWBCValue = yt2.wbc    
于 2013-05-08T12:46:13.367 に答える