Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --
- -- 商品テーブルと、
- --
- CREATE TABLE items (
- id serial PRIMARY KEY,
- name VARCHAR(255) NOT NULL,
- price INTEGER NOT NULL -- 単価
- );
- --
- -- 販売テーブルがあるとする。
- --
- CREATE TABLE sales (
- id serial PRIMARY KEY,
- item_id INTEGER NOT NULL REFERENCES items(id),
- COUNT INTEGER NOT NULL DEFAULT 1, -- 個数
- total INTEGER NOT NULL, -- 単価 * 個数
- created_at TIMESTAMP NOT NULL DEFAULT current_datetime
- )
- --
- -- 日付を指定して、その日の商品別販売金額合計を大きい順に表示したい。
- -- どういうSQLを書けばいいの?
- --
- SELECT items.id, items.name
- FROM items,
- (SELECT item_id, SUM(total) AS sum_total
- FROM sales
- WHERE DATE(created_at) = '2012-04-01'
- GROUP BY item_id) AS totals
- WHERE items.id = totals.item_id
- ORDER BY totals.sum_total DESC;
Advertisement
Add Comment
Please, Sign In to add comment