7
3

More than 1 year has passed since last update.

ChatGPT vs Google Bard

GoogleのBardが日本でも使用できるようになったので、使ってみました。
ChatGPTはFree Planと比べみました。

Google Bardの使い方

  • Bardのページを表示する
  • Google Accountでログインした状態で、使用するをクリック
  • 少し立つと使用許可のメールが届く
  • BardのページでChatが使用できるようになる。

注意

  • 日本でも使用できるが、日本語でははまだ使用できない。2023-04-19現在
  • 個人アカウントでの登録が必要になる。

対決

検証内容として両方に、SQLを生成してみる。

問題

データベースに日付と金額のテーブルがあります。
指定した期間で期間で週ごとに合計を集計するSQLをを記述してください。
データがない週は0で出力したいです。なるべく短いSQLで記述してください。 

日本語が対応していないのでどちらも英語で

There is a table of dates and amounts in the database.
Please write SQL to tally the totals by week for a period of time in a specified time period.
I want to output 0 for weeks with no data. Please write the SQL as short as possible. 

回答

ChatGPT

SELECT DATE_TRUNC('week', calendar.week_start) AS week_start, 
COALESCE(SUM(transaction_amount), 0) AS total_amount
FROM (SELECT generate_series(date_trunc('week', start_date)::date, 
date_trunc('week', end_date)::date, '1 week') AS week_start 
FROM (SELECT '2022-01-01'::date AS start_date, '2022-12-31'::date AS end_date) t) calendar
LEFT JOIN transactions ON DATE_TRUNC('week', transaction_date) = calendar.week_start
GROUP BY week_start
ORDER BY week_start ASC;
  • よく出来た回答だと思います。
  • なるべく短いSQLで記述してください。 も、きちんと理解してくれています。いろいろと関数を使用しています。
  • データがない週は0で出力したいです。も、きちんと対応しており、データがない集計部分を生成するようにSQLを記述しています。
  • 本当にこれが動くのか試していません。

Bard

SELECT
  DATEADD(WEEK, DATEDIFF(WEEK, 0, date), 0) AS week_of,
  SUM(amount) AS total
FROM
  (
    SELECT
      date,
      amount
    FROM
      table_name
    WHERE
      date >= '2023-04-01'
      AND date < '2023-04-19'
  ) AS subquery
GROUP BY
  week_of
ORDER BY
  week_of;
  • なるべく短いSQLで記述してください。 データがない週は0で出力したいです。もあまり読み取ってくれなかった。
  • わかりやすいSQLを生成しています。

結果判定

  • SQLの生成の差は、現在、明らかな差があります。人間でいうと上級者と初級、中級?
  • Bardの良いところは、表示速度が早いところです。すこし、考えてすぐ結果が表示されます。
  • Bardが突貫工事で作られたと思うと、よく頑張っているとも思うが、今後を期待したいところ。

今後

  • データベースを指定して比較しても良かったと思う。
  • 質問も適当な指示なので、もっと詳細にしていしたら、出力も変わるかも。
7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3