0

テーブルオーダーをしています

orders (
id  int unsigned not null,
fcr_date  TIMESTAMP,
completion_date TIMESTAMP,
factory_no  varchar(255),
vendor_no  varchar(255))

データ型のタイプミスがある場合は無視してください。

ベンダー ファクトリごとにデータを取得するのに役立つ SQL クエリを作成したいと考えています。フェッチするデータには、ベンダー工場ごとの注文数 (vendor_no、factory_no の一意のグループ)、vendor_no、factory_no、および fcr_date が completion_date より後の注文数が含まれます。

私はSQLを初めて使用しますが、この特定のクエリは非常に複雑に思えます。このクエリの書き方について誰かが私を導いてくれれば幸いです。

ありがとう。

4

3 に答える 3

3

このようなものを試すことができます

SELECT  vendor_no,
        factory_no,
        COUNT(1),
        SUM(CASE WHEN fcr_date > completion_date THEN 1 ELSE 0 END)
FROM    @orders
GROUP BY vendor_no,
        factory_no
于 2009-11-29T10:29:43.293 に答える
1
SELECT   vendor_no,
         factory_no,
         COUNT(id),
         SUM(IF(fcr_date > completion_date, 1, 0))
FROM     orders
GROUP BY vendor_no, factory_no;

MySQLで動作します。

于 2009-11-29T10:31:04.033 に答える
0

Ishu、% は pgsql 関数である可能性があるため、列に「percent」以外の名前を付けてください。

于 2011-05-26T14:26:51.497 に答える